Merge reload-branch up to revision 101000
[official-gcc.git] / gcc / config / i386 / i386.opt
blob64337d49e469b77031006b1a37b77d89aebba286
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
10 ; version.
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
15 ; for more details.
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, 59 Temple Place - Suite 330, Boston, MA
20 ; 02111-1307, USA.
22 m128bit-long-double
23 Target RejectNegative Report Mask(128BIT_LONG_DOUBLE)
24 sizeof(long double) is 16
26 m32
27 Target RejectNegative Report InverseMask(64BIT)
28 Generate 32bit i386 code
30 m386
31 Target RejectNegative Undocumented
32 ;; Deprecated
34 m3dnow
35 Target Report Mask(3DNOW)
36 Support 3DNow! built-in functions
38 m486
39 Target RejectNegative Undocumented
40 ;; Deprecated
42 m64
43 Target RejectNegative Report Mask(64BIT)
44 Generate 64bit x86-64 code
46 m80387
47 Target Report Mask(80387)
48 Use hardware fp
50 m96bit-long-double
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
58 malign-double
59 Target Report Mask(ALIGN_DOUBLE)
60 Align some doubles on dword boundary
62 malign-functions=
63 Target RejectNegative Joined Var(ix86_align_funcs_string)
64 Function starts are aligned to this power of 2
66 malign-jumps=
67 Target RejectNegative Joined Var(ix86_align_jumps_string)
68 Jump targets are aligned to this power of 2
70 malign-loops=
71 Target RejectNegative Joined Var(ix86_align_loops_string)
72 Loop code aligned to this power of 2
74 malign-stringops
75 Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS)
76 Align destination of the string operations
78 march=
79 Target RejectNegative Joined Var(ix86_arch_string)
80 Generate code for given CPU
82 masm=
83 Target RejectNegative Joined Var(ix86_asm_string)
84 Use given assembler dialect
86 mbranch-cost=
87 Target RejectNegative Joined Var(ix86_branch_cost_string)
88 Branches are this expensive (1-5, arbitrary units)
90 mcmodel=
91 Target RejectNegative Joined Var(ix86_cmodel_string)
92 Use given x86-64 code model
94 mdebug-addr
95 Target RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented
97 mdebug-arg
98 Target RejectNegative Var(TARGET_DEBUG_ARG) Undocumented
100 mfancy-math-387
101 Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387)
102 Generate sin, cos, sqrt for FPU
104 mfp-ret-in-387
105 Target Report Mask(FLOAT_RETURNS)
106 Return values of functions in FPU registers
108 mfpmath=
109 Target RejectNegative Joined Var(ix86_fpmath_string)
110 Generate floating point mathematics using given instruction set
112 mhard-float
113 Target RejectNegative Mask(80387) MaskExists
114 Use hardware fp
116 mieee-fp
117 Target Report Mask(IEEE_FP)
118 Use IEEE math for fp comparisons
120 minline-all-stringops
121 Target Report Mask(INLINE_ALL_STRINGOPS)
122 Inline all known string operations
124 mintel-syntax
125 Target Undocumented
126 ;; Deprecated
128 mmmx
129 Target Report Mask(MMX)
130 Support MMX built-in functions
132 mms-bitfields
133 Target Report Mask(MS_BITFIELD_LAYOUT)
134 Use native (MS) bitfield layout
136 mno-align-stringops
137 Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented
139 mno-fancy-math-387
140 Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented
142 mno-push-args
143 Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented
145 mno-red-zone
146 Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented
148 momit-leaf-frame-pointer
149 Target Report Mask(OMIT_LEAF_FRAME_POINTER)
150 Omit the frame pointer in leaf functions
152 mpentium
153 Target RejectNegative Undocumented
154 ;; Deprecated
156 mpentiumpro
157 Target RejectNegative Undocumented
158 ;; Deprecated
160 mpreferred-stack-boundary=
161 Target RejectNegative Joined Var(ix86_preferred_stack_boundary_string)
162 Attempt to keep stack aligned to this power of 2
164 mpush-args
165 Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS)
166 Use push instructions to save outgoing arguments
168 mred-zone
169 Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE)
170 Use red-zone in the x86-64 code
172 mregparm=
173 Target RejectNegative Joined Var(ix86_regparm_string)
174 Number of registers used to pass integer arguments
176 mrtd
177 Target Report Mask(RTD)
178 Alternate calling convention
180 msoft-float
181 Target InverseMask(80387)
182 Do not use hardware fp
184 msse
185 Target Report Mask(SSE)
186 Support MMX and SSE built-in functions and code generation
188 msse2
189 Target Report Mask(SSE2)
190 Support MMX, SSE and SSE2 built-in functions and code generation
192 msse3
193 Target Report Mask(SSE3)
194 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
196 msvr3-shlib
197 Target Report Mask(SVR3_SHLIB)
198 Uninitialized locals in .bss
200 mstack-arg-probe
201 Target Report Mask(STACK_PROBE)
202 Enable stack probing
204 mtls-dialect=
205 Target RejectNegative Joined Var(ix86_tls_dialect_string)
206 Use given thread-local storage dialect
208 mtls-direct-seg-refs
209 Target Report Mask(TLS_DIRECT_SEG_REFS)
210 Use direct references against %gs when accessing tls data
212 mtune=
213 Target RejectNegative Joined Var(ix86_tune_string)
214 Schedule code for given CPU
216 ;; Support Athlon 3Dnow builtins
217 Mask(3DNOW_A)