]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/gcc/config/i386/i386.opt
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / gcc / config / i386 / i386.opt
1 ; Options for the IA-32 and AMD64 ports of the compiler.
2
3 ; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
4 ;
5 ; This file is part of GCC.
6 ;
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.
11 ;
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.
16 ;
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
20 ; 02110-1301, USA.
21
22 m128bit-long-double
23 Target RejectNegative Report Mask(128BIT_LONG_DOUBLE)
24 sizeof(long double) is 16
25
26 m32
27 Target RejectNegative Negative(m64) Report InverseMask(64BIT)
28 Generate 32bit i386 code
29
30 m386
31 Target RejectNegative Undocumented
32 ;; Deprecated
33
34 m3dnow
35 Target Report Mask(3DNOW)
36 Support 3DNow! built-in functions
37
38 m486
39 Target RejectNegative Undocumented
40 ;; Deprecated
41
42 m64
43 Target RejectNegative Negative(m32) Report Mask(64BIT)
44 Generate 64bit x86-64 code
45
46 m80387
47 Target Report Mask(80387)
48 Use hardware fp
49
50 m96bit-long-double
51 Target RejectNegative Report InverseMask(128BIT_LONG_DOUBLE)
52 sizeof(long double) is 12
53
54 maccumulate-outgoing-args
55 Target Report Mask(ACCUMULATE_OUTGOING_ARGS)
56 Reserve space for outgoing arguments in the function prologue
57
58 malign-double
59 Target Report Mask(ALIGN_DOUBLE)
60 Align some doubles on dword boundary
61
62 malign-functions=
63 Target RejectNegative Joined Var(ix86_align_funcs_string)
64 Function starts are aligned to this power of 2
65
66 malign-jumps=
67 Target RejectNegative Joined Var(ix86_align_jumps_string)
68 Jump targets are aligned to this power of 2
69
70 malign-loops=
71 Target RejectNegative Joined Var(ix86_align_loops_string)
72 Loop code aligned to this power of 2
73
74 malign-stringops
75 Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS)
76 Align destination of the string operations
77
78 march=
79 Target RejectNegative Joined Var(ix86_arch_string)
80 Generate code for given CPU
81
82 masm=
83 Target RejectNegative Joined Var(ix86_asm_string)
84 Use given assembler dialect
85
86 mbranch-cost=
87 Target RejectNegative Joined Var(ix86_branch_cost_string)
88 Branches are this expensive (1-5, arbitrary units)
89
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
93
94 mcmodel=
95 Target RejectNegative Joined Var(ix86_cmodel_string)
96 Use given x86-64 code model
97
98 mdebug-addr
99 Target RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented
100
101 mdebug-arg
102 Target RejectNegative Var(TARGET_DEBUG_ARG) Undocumented
103
104 mfancy-math-387
105 Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387)
106 Generate sin, cos, sqrt for FPU
107
108 mfp-ret-in-387
109 Target Report Mask(FLOAT_RETURNS)
110 Return values of functions in FPU registers
111
112 mfpmath=
113 Target RejectNegative Joined Var(ix86_fpmath_string)
114 Generate floating point mathematics using given instruction set
115
116 mhard-float
117 Target RejectNegative Mask(80387) MaskExists
118 Use hardware fp
119
120 mieee-fp
121 Target Report Mask(IEEE_FP)
122 Use IEEE math for fp comparisons
123
124 minline-all-stringops
125 Target Report Mask(INLINE_ALL_STRINGOPS)
126 Inline all known string operations
127
128 mintel-syntax
129 Target Undocumented
130 ;; Deprecated
131
132 mmmx
133 Target Report Mask(MMX)
134 Support MMX built-in functions
135
136 mms-bitfields
137 Target Report Mask(MS_BITFIELD_LAYOUT)
138 Use native (MS) bitfield layout
139
140 mno-align-stringops
141 Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented
142
143 mno-fancy-math-387
144 Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented
145
146 mno-push-args
147 Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented
148
149 mno-red-zone
150 Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented
151
152 momit-leaf-frame-pointer
153 Target Report Mask(OMIT_LEAF_FRAME_POINTER)
154 Omit the frame pointer in leaf functions
155
156 mpentium
157 Target RejectNegative Undocumented
158 ;; Deprecated
159
160 mpentiumpro
161 Target RejectNegative Undocumented
162 ;; Deprecated
163
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
167
168 mpush-args
169 Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS)
170 Use push instructions to save outgoing arguments
171
172 mred-zone
173 Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE)
174 Use red-zone in the x86-64 code
175
176 mregparm=
177 Target RejectNegative Joined Var(ix86_regparm_string)
178 Number of registers used to pass integer arguments
179
180 mrtd
181 Target Report Mask(RTD)
182 Alternate calling convention
183
184 msoft-float
185 Target InverseMask(80387)
186 Do not use hardware fp
187
188 msse
189 Target Report Mask(SSE)
190 Support MMX and SSE built-in functions and code generation
191
192 msse2
193 Target Report Mask(SSE2)
194 Support MMX, SSE and SSE2 built-in functions and code generation
195
196 msse3
197 Target Report Mask(SSE3)
198 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
199
200 mssse3
201 Target Report Mask(SSSE3)
202 Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation
203
204 msse4a
205 Target Report Mask(SSE4A)
206 Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation
207
208 maes
209 Target Report Mask(AES)
210 Support AES built-in functions and code generation.
211
212 mpopcnt
213 Target Report Mask(POPCNT)
214 Support code generation of popcount instruction for popcount built-ins 
215 namely __builtin_popcount, __builtin_popcountl and __builtin_popcountll
216
217 mabm
218 Target Report Mask(ABM)
219 Support code generation of Advanced Bit Manipulation (ABM) instructions,
220 which include popcnt and lzcnt instructions, for popcount and clz built-ins
221 namely __builtin_popcount, __builtin_popcountl, __builtin_popcountll and
222 __builtin_clz, __builtin_clzl, __builtin_clzll
223
224 msseregparm
225 Target RejectNegative Mask(SSEREGPARM)
226 Use SSE register passing conventions for SF and DF mode
227
228 mstackrealign
229 Target Report Var(ix86_force_align_arg_pointer)
230 Realign stack in prologue
231
232 msvr3-shlib
233 Target Report Mask(SVR3_SHLIB)
234 Uninitialized locals in .bss
235
236 mstack-arg-probe
237 Target Report Mask(STACK_PROBE)
238 Enable stack probing
239
240 mtls-dialect=
241 Target RejectNegative Joined Var(ix86_tls_dialect_string)
242 Use given thread-local storage dialect
243
244 mtls-direct-seg-refs
245 Target Report Mask(TLS_DIRECT_SEG_REFS)
246 Use direct references against %gs when accessing tls data
247
248 mtune=
249 Target RejectNegative Joined Var(ix86_tune_string)
250 Schedule code for given CPU
251
252 ;; Support Athlon 3Dnow builtins
253 Mask(3DNOW_A)