2008-11-18 Kai Tietz <kai.tietz@onevision.com>
[official-gcc.git] / gcc / config / i386 / unix.h
blob2eb1b6a751443508a77df71d774945427f5a250c
1 /* Definitions for Unix assembler syntax for the Intel 80386.
2 Copyright (C) 1988, 1994, 1999, 2000, 2001, 2002, 2007
3 Free Software Foundation, Inc.
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 /* This file defines the aspects of assembler syntax
22 that are the same for all the i386 Unix systems
23 (though they may differ in non-Unix systems). */
25 /* Define macro used to output shift-double opcodes when the shift
26 count is in %cl. Some assemblers require %cl as an argument;
27 some don't. This macro controls what to do: by default, don't
28 print %cl. */
29 #define SHIFT_DOUBLE_OMITS_COUNT 1
31 /* Define the syntax of pseudo-ops, labels and comments. */
33 /* String containing the assembler's comment-starter. */
35 #define ASM_COMMENT_START "/"
37 /* Output to assembler file text saying following lines
38 may contain character constants, extra white space, comments, etc. */
40 #define ASM_APP_ON "/APP\n"
42 /* Output to assembler file text saying following lines
43 no longer contain unusual constructs. */
45 #define ASM_APP_OFF "/NO_APP\n"
47 /* Output before read-only data. */
49 #define TEXT_SECTION_ASM_OP "\t.text"
51 /* Output before writable (initialized) data. */
53 #define DATA_SECTION_ASM_OP "\t.data"
55 /* Output before writable (uninitialized) data. */
57 #define BSS_SECTION_ASM_OP "\t.bss"
59 /* Globalizing directive for a label. */
60 #define GLOBAL_ASM_OP ".globl "
62 /* By default, target has a 80387, uses IEEE compatible arithmetic,
63 and returns float values in the 387. */
64 #undef TARGET_SUBTARGET_DEFAULT
65 #define TARGET_SUBTARGET_DEFAULT \
66 (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)
68 /* By default, 64-bit mode uses 128-bit long double. */
69 #undef TARGET_SUBTARGET64_DEFAULT
70 #define TARGET_SUBTARGET64_DEFAULT \
71 MASK_128BIT_LONG_DOUBLE