1 ; Options for the IA-32 and AMD64 ports of the compiler.
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 2, or (at your option) any later
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING. If not, write to the Free
19 ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
23 Target RejectNegative Report Mask(128BIT_LONG_DOUBLE)
24 sizeof(long double) is 16
27 Target RejectNegative Report InverseMask(64BIT)
28 Generate 32bit i386 code
31 Target RejectNegative Undocumented
35 Target Report Mask(3DNOW)
36 Support 3DNow! built-in functions
39 Target RejectNegative Undocumented
43 Target RejectNegative Report Mask(64BIT)
44 Generate 64bit x86-64 code
47 Target Report Mask(80387)
51 Target RejectNegative Report InverseMask(128BIT_LONG_DOUBLE)
52 sizeof(long double) is 12
54 maccumulate-outgoing-args
55 Target Report Mask(ACCUMULATE_OUTGOING_ARGS)
56 Reserve space for outgoing arguments in the function prologue
59 Target Report Mask(ALIGN_DOUBLE)
60 Align some doubles on dword boundary
63 Target RejectNegative Joined Var(ix86_align_funcs_string)
64 Function starts are aligned to this power of 2
67 Target RejectNegative Joined Var(ix86_align_jumps_string)
68 Jump targets are aligned to this power of 2
71 Target RejectNegative Joined Var(ix86_align_loops_string)
72 Loop code aligned to this power of 2
75 Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS)
76 Align destination of the string operations
79 Target RejectNegative Joined Var(ix86_arch_string)
80 Generate code for given CPU
83 Target RejectNegative Joined Var(ix86_asm_string)
84 Use given assembler dialect
87 Target RejectNegative Joined Var(ix86_branch_cost_string)
88 Branches are this expensive (1-5, arbitrary units)
90 mlarge-data-threshold=
91 Target RejectNegative Joined Var(ix86_section_threshold_string)
92 Data greater than given threshold will go into .ldata section in x86-64 medium model
95 Target RejectNegative Joined Var(ix86_cmodel_string)
96 Use given x86-64 code model
99 Target RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented
102 Target RejectNegative Var(TARGET_DEBUG_ARG) Undocumented
105 Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387)
106 Generate sin, cos, sqrt for FPU
109 Target Report Mask(FLOAT_RETURNS)
110 Return values of functions in FPU registers
113 Target RejectNegative Joined Var(ix86_fpmath_string)
114 Generate floating point mathematics using given instruction set
117 Target RejectNegative Mask(80387) MaskExists
121 Target Report Mask(IEEE_FP)
122 Use IEEE math for fp comparisons
124 minline-all-stringops
125 Target Report Mask(INLINE_ALL_STRINGOPS)
126 Inline all known string operations
133 Target Report Mask(MMX)
134 Support MMX built-in functions
137 Target Report Mask(MS_BITFIELD_LAYOUT)
138 Use native (MS) bitfield layout
141 Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented
144 Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented
147 Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented
150 Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented
152 momit-leaf-frame-pointer
153 Target Report Mask(OMIT_LEAF_FRAME_POINTER)
154 Omit the frame pointer in leaf functions
157 Target RejectNegative Undocumented
161 Target RejectNegative Undocumented
164 mpreferred-stack-boundary=
165 Target RejectNegative Joined Var(ix86_preferred_stack_boundary_string)
166 Attempt to keep stack aligned to this power of 2
169 Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS)
170 Use push instructions to save outgoing arguments
173 Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE)
174 Use red-zone in the x86-64 code
177 Target RejectNegative Joined Var(ix86_regparm_string)
178 Number of registers used to pass integer arguments
181 Target Report Mask(RTD)
182 Alternate calling convention
185 Target InverseMask(80387)
186 Do not use hardware fp
189 Target Report Mask(SSE)
190 Support MMX and SSE built-in functions and code generation
193 Target Report Mask(SSE2)
194 Support MMX, SSE and SSE2 built-in functions and code generation
197 Target Report Mask(SSE3)
198 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
201 Target RejectNegative Mask(SSEREGPARM)
202 Use SSE register passing conventions for SF and DF mode
205 Target Report Mask(SVR3_SHLIB)
206 Uninitialized locals in .bss
209 Target Report Mask(STACK_PROBE)
213 Target RejectNegative Joined Var(ix86_tls_dialect_string)
214 Use given thread-local storage dialect
217 Target Report Mask(TLS_DIRECT_SEG_REFS)
218 Use direct references against %gs when accessing tls data
221 Target RejectNegative Joined Var(ix86_tune_string)
222 Schedule code for given CPU
224 ;; Support Athlon 3Dnow builtins