i386.opt revision 1.13 1 1.1 mrg ; Options for the IA-32 and AMD64 ports of the compiler.
2 1.1 mrg
3 1.13 mrg ; Copyright (C) 2005-2020 Free Software Foundation, Inc.
4 1.1 mrg ;
5 1.1 mrg ; This file is part of GCC.
6 1.1 mrg ;
7 1.1 mrg ; GCC is free software; you can redistribute it and/or modify it under
8 1.1 mrg ; the terms of the GNU General Public License as published by the Free
9 1.1 mrg ; Software Foundation; either version 3, or (at your option) any later
10 1.1 mrg ; version.
11 1.1 mrg ;
12 1.1 mrg ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 1.1 mrg ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 1.1 mrg ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 1.1 mrg ; for more details.
16 1.1 mrg ;
17 1.1 mrg ; You should have received a copy of the GNU General Public License
18 1.1 mrg ; along with GCC; see the file COPYING3. If not see
19 1.1 mrg ; <http://www.gnu.org/licenses/>.
20 1.1 mrg
21 1.3 mrg HeaderInclude
22 1.3 mrg config/i386/i386-opts.h
23 1.3 mrg
24 1.3 mrg ; Bit flags that specify the ISA we are compiling for.
25 1.3 mrg Variable
26 1.3 mrg HOST_WIDE_INT ix86_isa_flags = TARGET_64BIT_DEFAULT | TARGET_SUBTARGET_ISA_DEFAULT
27 1.3 mrg
28 1.10 mrg Variable
29 1.10 mrg HOST_WIDE_INT ix86_isa_flags2 = 0
30 1.10 mrg
31 1.3 mrg ; A mask of ix86_isa_flags that includes bit X if X was set or cleared
32 1.3 mrg ; on the command line.
33 1.3 mrg Variable
34 1.3 mrg HOST_WIDE_INT ix86_isa_flags_explicit
35 1.3 mrg
36 1.10 mrg Variable
37 1.10 mrg HOST_WIDE_INT ix86_isa_flags2_explicit
38 1.10 mrg
39 1.10 mrg ; Additional target flags
40 1.10 mrg Variable
41 1.10 mrg int ix86_target_flags
42 1.10 mrg
43 1.3 mrg TargetVariable
44 1.3 mrg int recip_mask = RECIP_MASK_DEFAULT
45 1.3 mrg
46 1.3 mrg Variable
47 1.3 mrg int recip_mask_explicit
48 1.3 mrg
49 1.3 mrg TargetSave
50 1.3 mrg int x_recip_mask_explicit
51 1.3 mrg
52 1.13 mrg ;; A copy of flag_excess_precision as a target variable that should
53 1.13 mrg ;; force a different DECL_FUNCTION_SPECIFIC_TARGET upon
54 1.13 mrg ;; flag_excess_precision changes.
55 1.13 mrg TargetVariable
56 1.13 mrg enum excess_precision ix86_excess_precision = EXCESS_PRECISION_DEFAULT
57 1.13 mrg
58 1.13 mrg ;; Similarly for flag_unsafe_math_optimizations.
59 1.13 mrg TargetVariable
60 1.13 mrg bool ix86_unsafe_math_optimizations = false
61 1.13 mrg
62 1.1 mrg ;; Definitions to add to the cl_target_option structure
63 1.1 mrg ;; -march= processor
64 1.1 mrg TargetSave
65 1.1 mrg unsigned char arch
66 1.1 mrg
67 1.1 mrg ;; -mtune= processor
68 1.1 mrg TargetSave
69 1.1 mrg unsigned char tune
70 1.1 mrg
71 1.5 mrg ;; -march= processor-string
72 1.5 mrg TargetSave
73 1.5 mrg const char *x_ix86_arch_string
74 1.5 mrg
75 1.5 mrg ;; -mtune= processor-string
76 1.5 mrg TargetSave
77 1.5 mrg const char *x_ix86_tune_string
78 1.5 mrg
79 1.1 mrg ;; CPU schedule model
80 1.1 mrg TargetSave
81 1.1 mrg unsigned char schedule
82 1.1 mrg
83 1.5 mrg ;; True if processor has SSE prefetch instruction.
84 1.5 mrg TargetSave
85 1.5 mrg unsigned char prefetch_sse
86 1.5 mrg
87 1.1 mrg ;; branch cost
88 1.1 mrg TargetSave
89 1.1 mrg unsigned char branch_cost
90 1.1 mrg
91 1.1 mrg ;; which flags were passed by the user
92 1.1 mrg TargetSave
93 1.10 mrg HOST_WIDE_INT x_ix86_isa_flags2_explicit
94 1.5 mrg
95 1.5 mrg ;; which flags were passed by the user
96 1.1 mrg TargetSave
97 1.10 mrg HOST_WIDE_INT x_ix86_isa_flags_explicit
98 1.1 mrg
99 1.1 mrg ;; whether -mtune was not specified
100 1.1 mrg TargetSave
101 1.1 mrg unsigned char tune_defaulted
102 1.1 mrg
103 1.1 mrg ;; whether -march was specified
104 1.1 mrg TargetSave
105 1.1 mrg unsigned char arch_specified
106 1.1 mrg
107 1.5 mrg ;; -mcmodel= model
108 1.5 mrg TargetSave
109 1.5 mrg enum cmodel x_ix86_cmodel
110 1.5 mrg
111 1.5 mrg ;; -mabi=
112 1.5 mrg TargetSave
113 1.5 mrg enum calling_abi x_ix86_abi
114 1.5 mrg
115 1.5 mrg ;; -masm=
116 1.5 mrg TargetSave
117 1.5 mrg enum asm_dialect x_ix86_asm_dialect
118 1.5 mrg
119 1.5 mrg ;; -mbranch-cost=
120 1.5 mrg TargetSave
121 1.5 mrg int x_ix86_branch_cost
122 1.5 mrg
123 1.8 mrg ;; -mdump-tune-features=
124 1.5 mrg TargetSave
125 1.5 mrg int x_ix86_dump_tunes
126 1.5 mrg
127 1.5 mrg ;; -mstackrealign=
128 1.5 mrg TargetSave
129 1.5 mrg int x_ix86_force_align_arg_pointer
130 1.5 mrg
131 1.8 mrg ;; -mforce-drap=
132 1.5 mrg TargetSave
133 1.5 mrg int x_ix86_force_drap
134 1.5 mrg
135 1.5 mrg ;; -mincoming-stack-boundary=
136 1.5 mrg TargetSave
137 1.5 mrg int x_ix86_incoming_stack_boundary_arg
138 1.5 mrg
139 1.5 mrg ;; -maddress-mode=
140 1.5 mrg TargetSave
141 1.5 mrg enum pmode x_ix86_pmode
142 1.5 mrg
143 1.8 mrg ;; -mpreferred-stack-boundary=
144 1.5 mrg TargetSave
145 1.5 mrg int x_ix86_preferred_stack_boundary_arg
146 1.5 mrg
147 1.5 mrg ;; -mrecip=
148 1.5 mrg TargetSave
149 1.5 mrg const char *x_ix86_recip_name
150 1.5 mrg
151 1.5 mrg ;; -mregparm=
152 1.5 mrg TargetSave
153 1.5 mrg int x_ix86_regparm
154 1.5 mrg
155 1.5 mrg ;; -mlarge-data-threshold=
156 1.5 mrg TargetSave
157 1.5 mrg int x_ix86_section_threshold
158 1.5 mrg
159 1.5 mrg ;; -msse2avx=
160 1.5 mrg TargetSave
161 1.5 mrg int x_ix86_sse2avx
162 1.5 mrg
163 1.5 mrg ;; -mstack-protector-guard=
164 1.5 mrg TargetSave
165 1.5 mrg enum stack_protector_guard x_ix86_stack_protector_guard
166 1.5 mrg
167 1.5 mrg ;; -mstringop-strategy=
168 1.5 mrg TargetSave
169 1.5 mrg enum stringop_alg x_ix86_stringop_alg
170 1.5 mrg
171 1.5 mrg ;; -mtls-dialect=
172 1.5 mrg TargetSave
173 1.5 mrg enum tls_dialect x_ix86_tls_dialect
174 1.5 mrg
175 1.5 mrg ;; -mtune-ctrl=
176 1.5 mrg TargetSave
177 1.5 mrg const char *x_ix86_tune_ctrl_string
178 1.5 mrg
179 1.5 mrg ;; -mmemcpy-strategy=
180 1.5 mrg TargetSave
181 1.5 mrg const char *x_ix86_tune_memcpy_strategy
182 1.5 mrg
183 1.5 mrg ;; -mmemset-strategy=
184 1.5 mrg TargetSave
185 1.5 mrg const char *x_ix86_tune_memset_strategy
186 1.5 mrg
187 1.5 mrg ;; -mno-default=
188 1.5 mrg TargetSave
189 1.5 mrg int x_ix86_tune_no_default
190 1.5 mrg
191 1.5 mrg ;; -mveclibabi=
192 1.5 mrg TargetSave
193 1.5 mrg enum ix86_veclibabi x_ix86_veclibabi_type
194 1.5 mrg
195 1.1 mrg ;; x86 options
196 1.1 mrg m128bit-long-double
197 1.1 mrg Target RejectNegative Report Mask(128BIT_LONG_DOUBLE) Save
198 1.8 mrg sizeof(long double) is 16.
199 1.1 mrg
200 1.1 mrg m80387
201 1.1 mrg Target Report Mask(80387) Save
202 1.8 mrg Use hardware fp.
203 1.1 mrg
204 1.1 mrg m96bit-long-double
205 1.1 mrg Target RejectNegative Report InverseMask(128BIT_LONG_DOUBLE) Save
206 1.8 mrg sizeof(long double) is 12.
207 1.1 mrg
208 1.3 mrg mlong-double-80
209 1.5 mrg Target Report RejectNegative Negative(mlong-double-64) InverseMask(LONG_DOUBLE_64) Save
210 1.8 mrg Use 80-bit long double.
211 1.3 mrg
212 1.3 mrg mlong-double-64
213 1.5 mrg Target Report RejectNegative Negative(mlong-double-128) Mask(LONG_DOUBLE_64) InverseMask(LONG_DOUBLE_128) Save
214 1.8 mrg Use 64-bit long double.
215 1.3 mrg
216 1.5 mrg mlong-double-128
217 1.5 mrg Target Report RejectNegative Negative(mlong-double-80) Mask(LONG_DOUBLE_128) InverseMask(LONG_DOUBLE_64) Save
218 1.8 mrg Use 128-bit long double.
219 1.5 mrg
220 1.1 mrg maccumulate-outgoing-args
221 1.1 mrg Target Report Mask(ACCUMULATE_OUTGOING_ARGS) Save
222 1.8 mrg Reserve space for outgoing arguments in the function prologue.
223 1.1 mrg
224 1.1 mrg malign-double
225 1.1 mrg Target Report Mask(ALIGN_DOUBLE) Save
226 1.8 mrg Align some doubles on dword boundary.
227 1.1 mrg
228 1.1 mrg malign-functions=
229 1.3 mrg Target RejectNegative Joined UInteger
230 1.8 mrg Function starts are aligned to this power of 2.
231 1.1 mrg
232 1.1 mrg malign-jumps=
233 1.3 mrg Target RejectNegative Joined UInteger
234 1.8 mrg Jump targets are aligned to this power of 2.
235 1.1 mrg
236 1.1 mrg malign-loops=
237 1.3 mrg Target RejectNegative Joined UInteger
238 1.8 mrg Loop code aligned to this power of 2.
239 1.1 mrg
240 1.1 mrg malign-stringops
241 1.1 mrg Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS) Save
242 1.8 mrg Align destination of the string operations.
243 1.1 mrg
244 1.5 mrg malign-data=
245 1.5 mrg Target RejectNegative Joined Var(ix86_align_data_type) Enum(ix86_align_data) Init(ix86_align_data_type_compat)
246 1.8 mrg Use the given data alignment.
247 1.5 mrg
248 1.5 mrg Enum
249 1.5 mrg Name(ix86_align_data) Type(enum ix86_align_data)
250 1.5 mrg Known data alignment choices (for use with the -malign-data= option):
251 1.5 mrg
252 1.5 mrg EnumValue
253 1.5 mrg Enum(ix86_align_data) String(compat) Value(ix86_align_data_type_compat)
254 1.5 mrg
255 1.5 mrg EnumValue
256 1.5 mrg Enum(ix86_align_data) String(abi) Value(ix86_align_data_type_abi)
257 1.5 mrg
258 1.5 mrg EnumValue
259 1.5 mrg Enum(ix86_align_data) String(cacheline) Value(ix86_align_data_type_cacheline)
260 1.5 mrg
261 1.1 mrg march=
262 1.12 mrg Target RejectNegative Negative(march=) Joined Var(ix86_arch_string)
263 1.8 mrg Generate code for given CPU.
264 1.1 mrg
265 1.1 mrg masm=
266 1.3 mrg Target RejectNegative Joined Enum(asm_dialect) Var(ix86_asm_dialect) Init(ASM_ATT)
267 1.8 mrg Use given assembler dialect.
268 1.1 mrg
269 1.3 mrg Enum
270 1.3 mrg Name(asm_dialect) Type(enum asm_dialect)
271 1.10 mrg Known assembler dialects (for use with the -masm= option):
272 1.3 mrg
273 1.3 mrg EnumValue
274 1.3 mrg Enum(asm_dialect) String(intel) Value(ASM_INTEL)
275 1.3 mrg
276 1.3 mrg EnumValue
277 1.3 mrg Enum(asm_dialect) String(att) Value(ASM_ATT)
278 1.3 mrg
279 1.1 mrg mbranch-cost=
280 1.11 mrg Target RejectNegative Joined UInteger Var(ix86_branch_cost) IntegerRange(0, 5)
281 1.11 mrg Branches are this expensive (arbitrary units).
282 1.1 mrg
283 1.1 mrg mlarge-data-threshold=
284 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_section_threshold) Init(DEFAULT_LARGE_SECTION_THRESHOLD)
285 1.10 mrg -mlarge-data-threshold=<number> Data greater than given threshold will go into .ldata section in x86-64 medium model.
286 1.1 mrg
287 1.1 mrg mcmodel=
288 1.3 mrg Target RejectNegative Joined Enum(cmodel) Var(ix86_cmodel) Init(CM_32)
289 1.8 mrg Use given x86-64 code model.
290 1.1 mrg
291 1.3 mrg Enum
292 1.3 mrg Name(cmodel) Type(enum cmodel)
293 1.3 mrg Known code models (for use with the -mcmodel= option):
294 1.3 mrg
295 1.3 mrg EnumValue
296 1.3 mrg Enum(cmodel) String(small) Value(CM_SMALL)
297 1.3 mrg
298 1.3 mrg EnumValue
299 1.3 mrg Enum(cmodel) String(medium) Value(CM_MEDIUM)
300 1.3 mrg
301 1.3 mrg EnumValue
302 1.3 mrg Enum(cmodel) String(large) Value(CM_LARGE)
303 1.3 mrg
304 1.3 mrg EnumValue
305 1.3 mrg Enum(cmodel) String(32) Value(CM_32)
306 1.3 mrg
307 1.3 mrg EnumValue
308 1.3 mrg Enum(cmodel) String(kernel) Value(CM_KERNEL)
309 1.3 mrg
310 1.3 mrg maddress-mode=
311 1.3 mrg Target RejectNegative Joined Enum(pmode) Var(ix86_pmode) Init(PMODE_SI)
312 1.8 mrg Use given address mode.
313 1.3 mrg
314 1.3 mrg Enum
315 1.3 mrg Name(pmode) Type(enum pmode)
316 1.3 mrg Known address mode (for use with the -maddress-mode= option):
317 1.3 mrg
318 1.3 mrg EnumValue
319 1.3 mrg Enum(pmode) String(short) Value(PMODE_SI)
320 1.3 mrg
321 1.3 mrg EnumValue
322 1.3 mrg Enum(pmode) String(long) Value(PMODE_DI)
323 1.3 mrg
324 1.3 mrg mcpu=
325 1.3 mrg Target RejectNegative Joined Undocumented Alias(mtune=) Warn(%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead)
326 1.3 mrg
327 1.1 mrg mfancy-math-387
328 1.1 mrg Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387) Save
329 1.8 mrg Generate sin, cos, sqrt for FPU.
330 1.1 mrg
331 1.1 mrg mforce-drap
332 1.1 mrg Target Report Var(ix86_force_drap)
333 1.8 mrg Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack.
334 1.1 mrg
335 1.1 mrg mfp-ret-in-387
336 1.1 mrg Target Report Mask(FLOAT_RETURNS) Save
337 1.8 mrg Return values of functions in FPU registers.
338 1.1 mrg
339 1.1 mrg mfpmath=
340 1.3 mrg Target RejectNegative Joined Var(ix86_fpmath) Enum(fpmath_unit) Init(FPMATH_387) Save
341 1.8 mrg Generate floating point mathematics using given instruction set.
342 1.1 mrg
343 1.3 mrg Enum
344 1.3 mrg Name(fpmath_unit) Type(enum fpmath_unit)
345 1.3 mrg Valid arguments to -mfpmath=:
346 1.3 mrg
347 1.3 mrg EnumValue
348 1.3 mrg Enum(fpmath_unit) String(387) Value(FPMATH_387)
349 1.3 mrg
350 1.3 mrg EnumValue
351 1.3 mrg Enum(fpmath_unit) String(sse) Value(FPMATH_SSE)
352 1.3 mrg
353 1.3 mrg EnumValue
354 1.3 mrg Enum(fpmath_unit) String(387,sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
355 1.3 mrg
356 1.3 mrg EnumValue
357 1.3 mrg Enum(fpmath_unit) String(387+sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
358 1.3 mrg
359 1.3 mrg EnumValue
360 1.3 mrg Enum(fpmath_unit) String(sse,387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
361 1.3 mrg
362 1.3 mrg EnumValue
363 1.3 mrg Enum(fpmath_unit) String(sse+387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
364 1.3 mrg
365 1.3 mrg EnumValue
366 1.3 mrg Enum(fpmath_unit) String(both) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
367 1.3 mrg
368 1.1 mrg mhard-float
369 1.3 mrg Target RejectNegative Mask(80387) Save
370 1.8 mrg Use hardware fp.
371 1.1 mrg
372 1.1 mrg mieee-fp
373 1.1 mrg Target Report Mask(IEEE_FP) Save
374 1.8 mrg Use IEEE math for fp comparisons.
375 1.1 mrg
376 1.1 mrg minline-all-stringops
377 1.1 mrg Target Report Mask(INLINE_ALL_STRINGOPS) Save
378 1.8 mrg Inline all known string operations.
379 1.1 mrg
380 1.1 mrg minline-stringops-dynamically
381 1.1 mrg Target Report Mask(INLINE_STRINGOPS_DYNAMICALLY) Save
382 1.8 mrg Inline memset/memcpy string operations, but perform inline version only for small blocks.
383 1.1 mrg
384 1.1 mrg mintel-syntax
385 1.3 mrg Target Undocumented Alias(masm=, intel, att) Warn(%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead)
386 1.1 mrg
387 1.1 mrg mms-bitfields
388 1.1 mrg Target Report Mask(MS_BITFIELD_LAYOUT) Save
389 1.8 mrg Use native (MS) bitfield layout.
390 1.1 mrg
391 1.1 mrg mno-align-stringops
392 1.1 mrg Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented Save
393 1.1 mrg
394 1.1 mrg mno-fancy-math-387
395 1.1 mrg Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented Save
396 1.1 mrg
397 1.1 mrg mno-push-args
398 1.1 mrg Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented Save
399 1.1 mrg
400 1.1 mrg mno-red-zone
401 1.1 mrg Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented Save
402 1.1 mrg
403 1.1 mrg momit-leaf-frame-pointer
404 1.1 mrg Target Report Mask(OMIT_LEAF_FRAME_POINTER) Save
405 1.8 mrg Omit the frame pointer in leaf functions.
406 1.1 mrg
407 1.3 mrg mpc32
408 1.3 mrg Target RejectNegative Report
409 1.8 mrg Set 80387 floating-point precision to 32-bit.
410 1.3 mrg
411 1.3 mrg mpc64
412 1.3 mrg Target RejectNegative Report
413 1.8 mrg Set 80387 floating-point precision to 64-bit.
414 1.3 mrg
415 1.3 mrg mpc80
416 1.3 mrg Target RejectNegative Report
417 1.8 mrg Set 80387 floating-point precision to 80-bit.
418 1.1 mrg
419 1.1 mrg mpreferred-stack-boundary=
420 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_preferred_stack_boundary_arg)
421 1.8 mrg Attempt to keep stack aligned to this power of 2.
422 1.1 mrg
423 1.1 mrg mincoming-stack-boundary=
424 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_incoming_stack_boundary_arg)
425 1.8 mrg Assume incoming stack aligned to this power of 2.
426 1.1 mrg
427 1.1 mrg mpush-args
428 1.1 mrg Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS) Save
429 1.8 mrg Use push instructions to save outgoing arguments.
430 1.1 mrg
431 1.1 mrg mred-zone
432 1.1 mrg Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE) Save
433 1.8 mrg Use red-zone in the x86-64 code.
434 1.1 mrg
435 1.1 mrg mregparm=
436 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_regparm)
437 1.8 mrg Number of registers used to pass integer arguments.
438 1.1 mrg
439 1.1 mrg mrtd
440 1.1 mrg Target Report Mask(RTD) Save
441 1.8 mrg Alternate calling convention.
442 1.1 mrg
443 1.1 mrg msoft-float
444 1.1 mrg Target InverseMask(80387) Save
445 1.8 mrg Do not use hardware fp.
446 1.1 mrg
447 1.1 mrg msseregparm
448 1.1 mrg Target RejectNegative Mask(SSEREGPARM) Save
449 1.8 mrg Use SSE register passing conventions for SF and DF mode.
450 1.1 mrg
451 1.1 mrg mstackrealign
452 1.11 mrg Target Report Var(ix86_force_align_arg_pointer)
453 1.8 mrg Realign stack in prologue.
454 1.1 mrg
455 1.1 mrg mstack-arg-probe
456 1.1 mrg Target Report Mask(STACK_PROBE) Save
457 1.8 mrg Enable stack probing.
458 1.1 mrg
459 1.5 mrg mmemcpy-strategy=
460 1.5 mrg Target RejectNegative Joined Var(ix86_tune_memcpy_strategy)
461 1.8 mrg Specify memcpy expansion strategy when expected size is known.
462 1.5 mrg
463 1.5 mrg mmemset-strategy=
464 1.5 mrg Target RejectNegative Joined Var(ix86_tune_memset_strategy)
465 1.8 mrg Specify memset expansion strategy when expected size is known.
466 1.5 mrg
467 1.1 mrg mstringop-strategy=
468 1.3 mrg Target RejectNegative Joined Enum(stringop_alg) Var(ix86_stringop_alg) Init(no_stringop)
469 1.8 mrg Chose strategy to generate stringop using.
470 1.1 mrg
471 1.3 mrg Enum
472 1.3 mrg Name(stringop_alg) Type(enum stringop_alg)
473 1.3 mrg Valid arguments to -mstringop-strategy=:
474 1.3 mrg
475 1.3 mrg EnumValue
476 1.3 mrg Enum(stringop_alg) String(rep_byte) Value(rep_prefix_1_byte)
477 1.3 mrg
478 1.3 mrg EnumValue
479 1.3 mrg Enum(stringop_alg) String(libcall) Value(libcall)
480 1.3 mrg
481 1.3 mrg EnumValue
482 1.3 mrg Enum(stringop_alg) String(rep_4byte) Value(rep_prefix_4_byte)
483 1.3 mrg
484 1.3 mrg EnumValue
485 1.3 mrg Enum(stringop_alg) String(rep_8byte) Value(rep_prefix_8_byte)
486 1.3 mrg
487 1.3 mrg EnumValue
488 1.3 mrg Enum(stringop_alg) String(byte_loop) Value(loop_1_byte)
489 1.3 mrg
490 1.3 mrg EnumValue
491 1.3 mrg Enum(stringop_alg) String(loop) Value(loop)
492 1.3 mrg
493 1.3 mrg EnumValue
494 1.3 mrg Enum(stringop_alg) String(unrolled_loop) Value(unrolled_loop)
495 1.3 mrg
496 1.5 mrg EnumValue
497 1.5 mrg Enum(stringop_alg) String(vector_loop) Value(vector_loop)
498 1.5 mrg
499 1.1 mrg mtls-dialect=
500 1.3 mrg Target RejectNegative Joined Var(ix86_tls_dialect) Enum(tls_dialect) Init(TLS_DIALECT_GNU)
501 1.8 mrg Use given thread-local storage dialect.
502 1.1 mrg
503 1.3 mrg Enum
504 1.3 mrg Name(tls_dialect) Type(enum tls_dialect)
505 1.3 mrg Known TLS dialects (for use with the -mtls-dialect= option):
506 1.3 mrg
507 1.3 mrg EnumValue
508 1.3 mrg Enum(tls_dialect) String(gnu) Value(TLS_DIALECT_GNU)
509 1.3 mrg
510 1.3 mrg EnumValue
511 1.3 mrg Enum(tls_dialect) String(gnu2) Value(TLS_DIALECT_GNU2)
512 1.3 mrg
513 1.1 mrg mtls-direct-seg-refs
514 1.1 mrg Target Report Mask(TLS_DIRECT_SEG_REFS)
515 1.8 mrg Use direct references against %gs when accessing tls data.
516 1.1 mrg
517 1.1 mrg mtune=
518 1.12 mrg Target RejectNegative Negative(mtune=) Joined Var(ix86_tune_string)
519 1.8 mrg Schedule code for given CPU.
520 1.1 mrg
521 1.5 mrg mtune-ctrl=
522 1.5 mrg Target RejectNegative Joined Var(ix86_tune_ctrl_string)
523 1.8 mrg Fine grain control of tune features.
524 1.5 mrg
525 1.5 mrg mno-default
526 1.11 mrg Target RejectNegative Var(ix86_tune_no_default)
527 1.8 mrg Clear all tune features.
528 1.5 mrg
529 1.5 mrg mdump-tune-features
530 1.11 mrg Target RejectNegative Var(ix86_dump_tunes)
531 1.5 mrg
532 1.8 mrg miamcu
533 1.8 mrg Target Report Mask(IAMCU)
534 1.8 mrg Generate code that conforms to Intel MCU psABI.
535 1.8 mrg
536 1.1 mrg mabi=
537 1.3 mrg Target RejectNegative Joined Var(ix86_abi) Enum(calling_abi) Init(SYSV_ABI)
538 1.8 mrg Generate code that conforms to the given ABI.
539 1.1 mrg
540 1.3 mrg Enum
541 1.3 mrg Name(calling_abi) Type(enum calling_abi)
542 1.3 mrg Known ABIs (for use with the -mabi= option):
543 1.3 mrg
544 1.3 mrg EnumValue
545 1.3 mrg Enum(calling_abi) String(sysv) Value(SYSV_ABI)
546 1.3 mrg
547 1.3 mrg EnumValue
548 1.3 mrg Enum(calling_abi) String(ms) Value(MS_ABI)
549 1.3 mrg
550 1.11 mrg mcall-ms2sysv-xlogues
551 1.11 mrg Target Report Mask(CALL_MS2SYSV_XLOGUES) Save
552 1.11 mrg Use libgcc stubs to save and restore registers clobbered by 64-bit Microsoft to System V ABI calls.
553 1.11 mrg
554 1.1 mrg mveclibabi=
555 1.3 mrg Target RejectNegative Joined Var(ix86_veclibabi_type) Enum(ix86_veclibabi) Init(ix86_veclibabi_type_none)
556 1.8 mrg Vector library ABI to use.
557 1.1 mrg
558 1.3 mrg Enum
559 1.3 mrg Name(ix86_veclibabi) Type(enum ix86_veclibabi)
560 1.3 mrg Known vectorization library ABIs (for use with the -mveclibabi= option):
561 1.3 mrg
562 1.3 mrg EnumValue
563 1.3 mrg Enum(ix86_veclibabi) String(svml) Value(ix86_veclibabi_type_svml)
564 1.3 mrg
565 1.3 mrg EnumValue
566 1.3 mrg Enum(ix86_veclibabi) String(acml) Value(ix86_veclibabi_type_acml)
567 1.3 mrg
568 1.3 mrg mvect8-ret-in-mem
569 1.3 mrg Target Report Mask(VECT8_RETURNS) Save
570 1.8 mrg Return 8-byte vectors in memory.
571 1.3 mrg
572 1.1 mrg mrecip
573 1.1 mrg Target Report Mask(RECIP) Save
574 1.1 mrg Generate reciprocals instead of divss and sqrtss.
575 1.1 mrg
576 1.3 mrg mrecip=
577 1.3 mrg Target Report RejectNegative Joined Var(ix86_recip_name)
578 1.3 mrg Control generation of reciprocal estimates.
579 1.3 mrg
580 1.1 mrg mcld
581 1.1 mrg Target Report Mask(CLD) Save
582 1.1 mrg Generate cld instruction in the function prologue.
583 1.1 mrg
584 1.3 mrg mvzeroupper
585 1.3 mrg Target Report Mask(VZEROUPPER) Save
586 1.3 mrg Generate vzeroupper instruction before a transfer of control flow out of
587 1.3 mrg the function.
588 1.3 mrg
589 1.8 mrg mstv
590 1.8 mrg Target Report Mask(STV) Save
591 1.8 mrg Disable Scalar to Vector optimization pass transforming 64-bit integer
592 1.8 mrg computations into a vector ones.
593 1.8 mrg
594 1.3 mrg mdispatch-scheduler
595 1.3 mrg Target RejectNegative Var(flag_dispatch_scheduler)
596 1.8 mrg Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4
597 1.8 mrg or znver1 and Haifa scheduling is selected.
598 1.3 mrg
599 1.3 mrg mprefer-avx128
600 1.11 mrg Target Alias(mprefer-vector-width=, 128, 256)
601 1.3 mrg Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer.
602 1.1 mrg
603 1.11 mrg mprefer-vector-width=
604 1.13 mrg Target Report RejectNegative Joined Var(prefer_vector_width_type) Enum(prefer_vector_width) Init(PVW_NONE) Save
605 1.11 mrg Use given register vector width instructions instead of maximum register width in the auto-vectorizer.
606 1.11 mrg
607 1.11 mrg Enum
608 1.11 mrg Name(prefer_vector_width) Type(enum prefer_vector_width)
609 1.12 mrg Known preferred register vector length (to use with the -mprefer-vector-width= option):
610 1.11 mrg
611 1.11 mrg EnumValue
612 1.11 mrg Enum(prefer_vector_width) String(none) Value(PVW_NONE)
613 1.11 mrg
614 1.11 mrg EnumValue
615 1.11 mrg Enum(prefer_vector_width) String(128) Value(PVW_AVX128)
616 1.11 mrg
617 1.11 mrg EnumValue
618 1.11 mrg Enum(prefer_vector_width) String(256) Value(PVW_AVX256)
619 1.11 mrg
620 1.11 mrg EnumValue
621 1.11 mrg Enum(prefer_vector_width) String(512) Value(PVW_AVX512)
622 1.11 mrg
623 1.1 mrg ;; ISA support
624 1.1 mrg
625 1.1 mrg m32
626 1.3 mrg Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save
627 1.8 mrg Generate 32bit i386 code.
628 1.1 mrg
629 1.1 mrg m64
630 1.3 mrg Target RejectNegative Negative(mx32) Report Mask(ABI_64) Var(ix86_isa_flags) Save
631 1.8 mrg Generate 64bit x86-64 code.
632 1.1 mrg
633 1.3 mrg mx32
634 1.5 mrg Target RejectNegative Negative(m16) Report Mask(ABI_X32) Var(ix86_isa_flags) Save
635 1.8 mrg Generate 32bit x86-64 code.
636 1.3 mrg
637 1.5 mrg m16
638 1.5 mrg Target RejectNegative Negative(m32) Report Mask(CODE16) InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save
639 1.8 mrg Generate 16bit i386 code.
640 1.5 mrg
641 1.1 mrg mmmx
642 1.3 mrg Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save
643 1.8 mrg Support MMX built-in functions.
644 1.1 mrg
645 1.1 mrg m3dnow
646 1.3 mrg Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) Save
647 1.8 mrg Support 3DNow! built-in functions.
648 1.1 mrg
649 1.1 mrg m3dnowa
650 1.10 mrg Target Report Mask(ISA_3DNOW_A) Var(ix86_isa_flags) Save
651 1.8 mrg Support Athlon 3Dnow! built-in functions.
652 1.1 mrg
653 1.1 mrg msse
654 1.3 mrg Target Report Mask(ISA_SSE) Var(ix86_isa_flags) Save
655 1.8 mrg Support MMX and SSE built-in functions and code generation.
656 1.1 mrg
657 1.1 mrg msse2
658 1.3 mrg Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) Save
659 1.8 mrg Support MMX, SSE and SSE2 built-in functions and code generation.
660 1.1 mrg
661 1.1 mrg msse3
662 1.3 mrg Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) Save
663 1.8 mrg Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation.
664 1.1 mrg
665 1.1 mrg mssse3
666 1.3 mrg Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) Save
667 1.8 mrg Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation.
668 1.1 mrg
669 1.1 mrg msse4.1
670 1.3 mrg Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) Save
671 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation.
672 1.1 mrg
673 1.1 mrg msse4.2
674 1.3 mrg Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
675 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.
676 1.1 mrg
677 1.1 mrg msse4
678 1.3 mrg Target RejectNegative Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
679 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.
680 1.1 mrg
681 1.1 mrg mno-sse4
682 1.3 mrg Target RejectNegative Report InverseMask(ISA_SSE4_1) Var(ix86_isa_flags) Save
683 1.8 mrg Do not support SSE4.1 and SSE4.2 built-in functions and code generation.
684 1.1 mrg
685 1.3 mrg msse5
686 1.3 mrg Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed)
687 1.3 mrg ;; Deprecated
688 1.3 mrg
689 1.1 mrg mavx
690 1.3 mrg Target Report Mask(ISA_AVX) Var(ix86_isa_flags) Save
691 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation.
692 1.1 mrg
693 1.3 mrg mavx2
694 1.3 mrg Target Report Mask(ISA_AVX2) Var(ix86_isa_flags) Save
695 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation.
696 1.3 mrg
697 1.5 mrg mavx512f
698 1.5 mrg Target Report Mask(ISA_AVX512F) Var(ix86_isa_flags) Save
699 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation.
700 1.5 mrg
701 1.5 mrg mavx512pf
702 1.5 mrg Target Report Mask(ISA_AVX512PF) Var(ix86_isa_flags) Save
703 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-in functions and code generation.
704 1.5 mrg
705 1.5 mrg mavx512er
706 1.5 mrg Target Report Mask(ISA_AVX512ER) Var(ix86_isa_flags) Save
707 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-in functions and code generation.
708 1.5 mrg
709 1.5 mrg mavx512cd
710 1.5 mrg Target Report Mask(ISA_AVX512CD) Var(ix86_isa_flags) Save
711 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-in functions and code generation.
712 1.5 mrg
713 1.5 mrg mavx512dq
714 1.5 mrg Target Report Mask(ISA_AVX512DQ) Var(ix86_isa_flags) Save
715 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built-in functions and code generation.
716 1.5 mrg
717 1.5 mrg mavx512bw
718 1.5 mrg Target Report Mask(ISA_AVX512BW) Var(ix86_isa_flags) Save
719 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built-in functions and code generation.
720 1.5 mrg
721 1.5 mrg mavx512vl
722 1.5 mrg Target Report Mask(ISA_AVX512VL) Var(ix86_isa_flags) Save
723 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built-in functions and code generation.
724 1.5 mrg
725 1.5 mrg mavx512ifma
726 1.5 mrg Target Report Mask(ISA_AVX512IFMA) Var(ix86_isa_flags) Save
727 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation.
728 1.5 mrg
729 1.5 mrg mavx512vbmi
730 1.5 mrg Target Report Mask(ISA_AVX512VBMI) Var(ix86_isa_flags) Save
731 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation.
732 1.5 mrg
733 1.10 mrg mavx5124fmaps
734 1.13 mrg Target Report Mask(ISA2_AVX5124FMAPS) Var(ix86_isa_flags2) Save
735 1.10 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in functions and code generation.
736 1.10 mrg
737 1.10 mrg mavx5124vnniw
738 1.13 mrg Target Report Mask(ISA2_AVX5124VNNIW) Var(ix86_isa_flags2) Save
739 1.10 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in functions and code generation.
740 1.10 mrg
741 1.10 mrg mavx512vpopcntdq
742 1.11 mrg Target Report Mask(ISA_AVX512VPOPCNTDQ) Var(ix86_isa_flags) Save
743 1.10 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation.
744 1.10 mrg
745 1.11 mrg mavx512vbmi2
746 1.11 mrg Target Report Mask(ISA_AVX512VBMI2) Var(ix86_isa_flags) Save
747 1.11 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI2 built-in functions and code generation.
748 1.11 mrg
749 1.11 mrg mavx512vnni
750 1.11 mrg Target Report Mask(ISA_AVX512VNNI) Var(ix86_isa_flags) Save
751 1.11 mrg Support AVX512VNNI built-in functions and code generation.
752 1.11 mrg
753 1.11 mrg mavx512bitalg
754 1.11 mrg Target Report Mask(ISA_AVX512BITALG) Var(ix86_isa_flags) Save
755 1.11 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BITALG built-in functions and code generation.
756 1.11 mrg
757 1.13 mrg mavx512vp2intersect
758 1.13 mrg Target Report Mask(ISA2_AVX512VP2INTERSECT) Var(ix86_isa_flags2) Save
759 1.13 mrg Support AVX512VP2INTERSECT built-in functions and code generation.
760 1.13 mrg
761 1.1 mrg mfma
762 1.3 mrg Target Report Mask(ISA_FMA) Var(ix86_isa_flags) Save
763 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation.
764 1.1 mrg
765 1.1 mrg msse4a
766 1.3 mrg Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) Save
767 1.8 mrg Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation.
768 1.1 mrg
769 1.1 mrg mfma4
770 1.3 mrg Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save
771 1.8 mrg Support FMA4 built-in functions and code generation.
772 1.1 mrg
773 1.1 mrg mxop
774 1.3 mrg Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save
775 1.8 mrg Support XOP built-in functions and code generation.
776 1.1 mrg
777 1.1 mrg mlwp
778 1.3 mrg Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save
779 1.8 mrg Support LWP built-in functions and code generation.
780 1.1 mrg
781 1.1 mrg mabm
782 1.3 mrg Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save
783 1.1 mrg Support code generation of Advanced Bit Manipulation (ABM) instructions.
784 1.1 mrg
785 1.1 mrg mpopcnt
786 1.3 mrg Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) Save
787 1.1 mrg Support code generation of popcnt instruction.
788 1.1 mrg
789 1.11 mrg mpconfig
790 1.13 mrg Target Report Mask(ISA2_PCONFIG) Var(ix86_isa_flags2) Save
791 1.11 mrg Support PCONFIG built-in functions and code generation.
792 1.11 mrg
793 1.11 mrg mwbnoinvd
794 1.13 mrg Target Report Mask(ISA2_WBNOINVD) Var(ix86_isa_flags2) Save
795 1.11 mrg Support WBNOINVD built-in functions and code generation.
796 1.11 mrg
797 1.12 mrg mptwrite
798 1.13 mrg Target Report Mask(ISA2_PTWRITE) Var(ix86_isa_flags2) Save
799 1.12 mrg Support PTWRITE built-in functions and code generation.
800 1.12 mrg
801 1.10 mrg msgx
802 1.13 mrg Target Report Mask(ISA2_SGX) Var(ix86_isa_flags2) Save
803 1.10 mrg Support SGX built-in functions and code generation.
804 1.10 mrg
805 1.10 mrg mrdpid
806 1.13 mrg Target Report Mask(ISA2_RDPID) Var(ix86_isa_flags2) Save
807 1.10 mrg Support RDPID built-in functions and code generation.
808 1.10 mrg
809 1.11 mrg mgfni
810 1.11 mrg Target Report Mask(ISA_GFNI) Var(ix86_isa_flags) Save
811 1.11 mrg Support GFNI built-in functions and code generation.
812 1.11 mrg
813 1.11 mrg mvaes
814 1.13 mrg Target Report Mask(ISA2_VAES) Var(ix86_isa_flags2) Save
815 1.11 mrg Support VAES built-in functions and code generation.
816 1.11 mrg
817 1.11 mrg mvpclmulqdq
818 1.11 mrg Target Report Mask(ISA_VPCLMULQDQ) Var(ix86_isa_flags) Save
819 1.11 mrg Support VPCLMULQDQ built-in functions and code generation.
820 1.11 mrg
821 1.3 mrg mbmi
822 1.3 mrg Target Report Mask(ISA_BMI) Var(ix86_isa_flags) Save
823 1.8 mrg Support BMI built-in functions and code generation.
824 1.3 mrg
825 1.3 mrg mbmi2
826 1.3 mrg Target Report Mask(ISA_BMI2) Var(ix86_isa_flags) Save
827 1.8 mrg Support BMI2 built-in functions and code generation.
828 1.3 mrg
829 1.3 mrg mlzcnt
830 1.3 mrg Target Report Mask(ISA_LZCNT) Var(ix86_isa_flags) Save
831 1.8 mrg Support LZCNT built-in function and code generation.
832 1.3 mrg
833 1.3 mrg mhle
834 1.13 mrg Target Report Mask(ISA2_HLE) Var(ix86_isa_flags2) Save
835 1.8 mrg Support Hardware Lock Elision prefixes.
836 1.3 mrg
837 1.3 mrg mrdseed
838 1.3 mrg Target Report Mask(ISA_RDSEED) Var(ix86_isa_flags) Save
839 1.8 mrg Support RDSEED instruction.
840 1.3 mrg
841 1.3 mrg mprfchw
842 1.3 mrg Target Report Mask(ISA_PRFCHW) Var(ix86_isa_flags) Save
843 1.8 mrg Support PREFETCHW instruction.
844 1.3 mrg
845 1.3 mrg madx
846 1.3 mrg Target Report Mask(ISA_ADX) Var(ix86_isa_flags) Save
847 1.8 mrg Support flag-preserving add-carry instructions.
848 1.3 mrg
849 1.5 mrg mclflushopt
850 1.5 mrg Target Report Mask(ISA_CLFLUSHOPT) Var(ix86_isa_flags) Save
851 1.8 mrg Support CLFLUSHOPT instructions.
852 1.5 mrg
853 1.5 mrg mclwb
854 1.5 mrg Target Report Mask(ISA_CLWB) Var(ix86_isa_flags) Save
855 1.8 mrg Support CLWB instruction.
856 1.5 mrg
857 1.5 mrg mpcommit
858 1.13 mrg Target WarnRemoved
859 1.5 mrg
860 1.3 mrg mfxsr
861 1.3 mrg Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
862 1.8 mrg Support FXSAVE and FXRSTOR instructions.
863 1.3 mrg
864 1.3 mrg mxsave
865 1.3 mrg Target Report Mask(ISA_XSAVE) Var(ix86_isa_flags) Save
866 1.8 mrg Support XSAVE and XRSTOR instructions.
867 1.3 mrg
868 1.3 mrg mxsaveopt
869 1.3 mrg Target Report Mask(ISA_XSAVEOPT) Var(ix86_isa_flags) Save
870 1.8 mrg Support XSAVEOPT instruction.
871 1.3 mrg
872 1.5 mrg mxsavec
873 1.5 mrg Target Report Mask(ISA_XSAVEC) Var(ix86_isa_flags) Save
874 1.8 mrg Support XSAVEC instructions.
875 1.5 mrg
876 1.5 mrg mxsaves
877 1.5 mrg Target Report Mask(ISA_XSAVES) Var(ix86_isa_flags) Save
878 1.8 mrg Support XSAVES and XRSTORS instructions.
879 1.5 mrg
880 1.3 mrg mtbm
881 1.3 mrg Target Report Mask(ISA_TBM) Var(ix86_isa_flags) Save
882 1.8 mrg Support TBM built-in functions and code generation.
883 1.3 mrg
884 1.1 mrg mcx16
885 1.13 mrg Target Report Mask(ISA2_CX16) Var(ix86_isa_flags2) Save
886 1.1 mrg Support code generation of cmpxchg16b instruction.
887 1.1 mrg
888 1.1 mrg msahf
889 1.3 mrg Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) Save
890 1.1 mrg Support code generation of sahf instruction in 64bit x86-64 code.
891 1.1 mrg
892 1.1 mrg mmovbe
893 1.13 mrg Target Report Mask(ISA2_MOVBE) Var(ix86_isa_flags2) Save
894 1.1 mrg Support code generation of movbe instruction.
895 1.1 mrg
896 1.1 mrg mcrc32
897 1.3 mrg Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) Save
898 1.1 mrg Support code generation of crc32 instruction.
899 1.1 mrg
900 1.1 mrg maes
901 1.3 mrg Target Report Mask(ISA_AES) Var(ix86_isa_flags) Save
902 1.8 mrg Support AES built-in functions and code generation.
903 1.1 mrg
904 1.5 mrg msha
905 1.5 mrg Target Report Mask(ISA_SHA) Var(ix86_isa_flags) Save
906 1.8 mrg Support SHA1 and SHA256 built-in functions and code generation.
907 1.5 mrg
908 1.1 mrg mpclmul
909 1.3 mrg Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) Save
910 1.8 mrg Support PCLMUL built-in functions and code generation.
911 1.1 mrg
912 1.1 mrg msse2avx
913 1.1 mrg Target Report Var(ix86_sse2avx)
914 1.8 mrg Encode SSE instructions with VEX prefix.
915 1.3 mrg
916 1.3 mrg mfsgsbase
917 1.3 mrg Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save
918 1.8 mrg Support FSGSBASE built-in functions and code generation.
919 1.3 mrg
920 1.3 mrg mrdrnd
921 1.3 mrg Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) Save
922 1.8 mrg Support RDRND built-in functions and code generation.
923 1.3 mrg
924 1.3 mrg mf16c
925 1.3 mrg Target Report Mask(ISA_F16C) Var(ix86_isa_flags) Save
926 1.8 mrg Support F16C built-in functions and code generation.
927 1.3 mrg
928 1.5 mrg mprefetchwt1
929 1.5 mrg Target Report Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save
930 1.8 mrg Support PREFETCHWT1 built-in functions and code generation.
931 1.5 mrg
932 1.3 mrg mfentry
933 1.11 mrg Target Report Var(flag_fentry)
934 1.3 mrg Emit profiling counter call at function entry before prologue.
935 1.3 mrg
936 1.5 mrg mrecord-mcount
937 1.11 mrg Target Report Var(flag_record_mcount)
938 1.5 mrg Generate __mcount_loc section with all mcount or __fentry__ calls.
939 1.5 mrg
940 1.5 mrg mnop-mcount
941 1.11 mrg Target Report Var(flag_nop_mcount)
942 1.5 mrg Generate mcount/__fentry__ calls as nops. To activate they need to be
943 1.5 mrg patched in.
944 1.5 mrg
945 1.12 mrg mfentry-name=
946 1.12 mrg Target RejectNegative Joined Var(fentry_name)
947 1.12 mrg Set name of __fentry__ symbol called at function entry.
948 1.12 mrg
949 1.12 mrg mfentry-section=
950 1.12 mrg Target RejectNegative Joined Var(fentry_section)
951 1.12 mrg Set name of section to record mrecord-mcount calls.
952 1.12 mrg
953 1.5 mrg mskip-rax-setup
954 1.11 mrg Target Report Var(flag_skip_rax_setup)
955 1.5 mrg Skip setting up RAX register when passing variable arguments.
956 1.5 mrg
957 1.3 mrg m8bit-idiv
958 1.3 mrg Target Report Mask(USE_8BIT_IDIV) Save
959 1.8 mrg Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check.
960 1.3 mrg
961 1.3 mrg mavx256-split-unaligned-load
962 1.3 mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_LOAD) Save
963 1.8 mrg Split 32-byte AVX unaligned load.
964 1.3 mrg
965 1.3 mrg mavx256-split-unaligned-store
966 1.3 mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_STORE) Save
967 1.8 mrg Split 32-byte AVX unaligned store.
968 1.3 mrg
969 1.3 mrg mrtm
970 1.3 mrg Target Report Mask(ISA_RTM) Var(ix86_isa_flags) Save
971 1.8 mrg Support RTM built-in functions and code generation.
972 1.5 mrg
973 1.5 mrg mmpx
974 1.13 mrg Target WarnRemoved
975 1.13 mrg Removed in GCC 9. This switch has no effect.
976 1.5 mrg
977 1.5 mrg mmwaitx
978 1.13 mrg Target Report Mask(ISA2_MWAITX) Var(ix86_isa_flags2) Save
979 1.8 mrg Support MWAITX and MONITORX built-in functions and code generation.
980 1.8 mrg
981 1.8 mrg mclzero
982 1.13 mrg Target Report Mask(ISA2_CLZERO) Var(ix86_isa_flags2) Save
983 1.8 mrg Support CLZERO built-in functions and code generation.
984 1.8 mrg
985 1.8 mrg mpku
986 1.8 mrg Target Report Mask(ISA_PKU) Var(ix86_isa_flags) Save
987 1.8 mrg Support PKU built-in functions and code generation.
988 1.5 mrg
989 1.5 mrg mstack-protector-guard=
990 1.5 mrg Target RejectNegative Joined Enum(stack_protector_guard) Var(ix86_stack_protector_guard) Init(SSP_TLS)
991 1.8 mrg Use given stack-protector guard.
992 1.5 mrg
993 1.5 mrg Enum
994 1.5 mrg Name(stack_protector_guard) Type(enum stack_protector_guard)
995 1.5 mrg Known stack protector guard (for use with the -mstack-protector-guard= option):
996 1.5 mrg
997 1.5 mrg EnumValue
998 1.5 mrg Enum(stack_protector_guard) String(tls) Value(SSP_TLS)
999 1.5 mrg
1000 1.5 mrg EnumValue
1001 1.5 mrg Enum(stack_protector_guard) String(global) Value(SSP_GLOBAL)
1002 1.7 mrg
1003 1.11 mrg mstack-protector-guard-reg=
1004 1.11 mrg Target RejectNegative Joined Var(ix86_stack_protector_guard_reg_str)
1005 1.11 mrg Use the given base register for addressing the stack-protector guard.
1006 1.11 mrg
1007 1.11 mrg TargetVariable
1008 1.11 mrg addr_space_t ix86_stack_protector_guard_reg = ADDR_SPACE_GENERIC
1009 1.11 mrg
1010 1.11 mrg mstack-protector-guard-offset=
1011 1.11 mrg Target RejectNegative Joined Integer Var(ix86_stack_protector_guard_offset_str)
1012 1.11 mrg Use the given offset for addressing the stack-protector guard.
1013 1.11 mrg
1014 1.11 mrg TargetVariable
1015 1.11 mrg HOST_WIDE_INT ix86_stack_protector_guard_offset = 0
1016 1.11 mrg
1017 1.11 mrg mstack-protector-guard-symbol=
1018 1.11 mrg Target RejectNegative Joined Integer Var(ix86_stack_protector_guard_symbol_str)
1019 1.11 mrg Use the given symbol for addressing the stack-protector guard.
1020 1.11 mrg
1021 1.8 mrg mmitigate-rop
1022 1.13 mrg Target WarnRemoved
1023 1.8 mrg
1024 1.10 mrg mgeneral-regs-only
1025 1.10 mrg Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Var(ix86_target_flags) Save
1026 1.10 mrg Generate code which uses only the general registers.
1027 1.10 mrg
1028 1.11 mrg mshstk
1029 1.11 mrg Target Report Mask(ISA_SHSTK) Var(ix86_isa_flags) Save
1030 1.11 mrg Enable shadow stack built-in functions from Control-flow Enforcement
1031 1.11 mrg Technology (CET).
1032 1.11 mrg
1033 1.11 mrg mcet-switch
1034 1.11 mrg Target Report Undocumented Var(flag_cet_switch) Init(0)
1035 1.11 mrg Turn on CET instrumentation for switch statements that use a jump table and
1036 1.11 mrg an indirect jump.
1037 1.11 mrg
1038 1.12 mrg mmanual-endbr
1039 1.12 mrg Target Report Var(flag_manual_endbr) Init(0)
1040 1.12 mrg Insert ENDBR instruction at function entry only via cf_check attribute
1041 1.12 mrg for CET instrumentation.
1042 1.12 mrg
1043 1.11 mrg mforce-indirect-call
1044 1.11 mrg Target Report Var(flag_force_indirect_call) Init(0)
1045 1.11 mrg Make all function calls indirect.
1046 1.11 mrg
1047 1.7 mrg mindirect-branch=
1048 1.7 mrg Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep)
1049 1.7 mrg Convert indirect call and jump to call and return thunks.
1050 1.7 mrg
1051 1.7 mrg mfunction-return=
1052 1.7 mrg Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_function_return) Init(indirect_branch_keep)
1053 1.7 mrg Convert function return to call and return thunk.
1054 1.7 mrg
1055 1.7 mrg Enum
1056 1.7 mrg Name(indirect_branch) Type(enum indirect_branch)
1057 1.7 mrg Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
1058 1.7 mrg
1059 1.7 mrg EnumValue
1060 1.7 mrg Enum(indirect_branch) String(keep) Value(indirect_branch_keep)
1061 1.7 mrg
1062 1.7 mrg EnumValue
1063 1.7 mrg Enum(indirect_branch) String(thunk) Value(indirect_branch_thunk)
1064 1.7 mrg
1065 1.7 mrg EnumValue
1066 1.7 mrg Enum(indirect_branch) String(thunk-inline) Value(indirect_branch_thunk_inline)
1067 1.7 mrg
1068 1.7 mrg EnumValue
1069 1.7 mrg Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern)
1070 1.7 mrg
1071 1.7 mrg mindirect-branch-register
1072 1.7 mrg Target Report Var(ix86_indirect_branch_register) Init(0)
1073 1.7 mrg Force indirect call and jump via register.
1074 1.11 mrg
1075 1.11 mrg mmovdiri
1076 1.11 mrg Target Report Mask(ISA_MOVDIRI) Var(ix86_isa_flags) Save
1077 1.11 mrg Support MOVDIRI built-in functions and code generation.
1078 1.11 mrg
1079 1.11 mrg mmovdir64b
1080 1.13 mrg Target Report Mask(ISA2_MOVDIR64B) Var(ix86_isa_flags2) Save
1081 1.11 mrg Support MOVDIR64B built-in functions and code generation.
1082 1.12 mrg
1083 1.12 mrg mwaitpkg
1084 1.13 mrg Target Report Mask(ISA2_WAITPKG) Var(ix86_isa_flags2) Save
1085 1.12 mrg Support WAITPKG built-in functions and code generation.
1086 1.12 mrg
1087 1.12 mrg mcldemote
1088 1.13 mrg Target Report Mask(ISA2_CLDEMOTE) Var(ix86_isa_flags2) Save
1089 1.12 mrg Support CLDEMOTE built-in functions and code generation.
1090 1.12 mrg
1091 1.12 mrg minstrument-return=
1092 1.12 mrg Target Report RejectNegative Joined Enum(instrument_return) Var(ix86_instrument_return) Init(instrument_return_none)
1093 1.12 mrg Instrument function exit in instrumented functions with __fentry__.
1094 1.12 mrg
1095 1.12 mrg Enum
1096 1.12 mrg Name(instrument_return) Type(enum instrument_return)
1097 1.12 mrg Known choices for return instrumentation with -minstrument-return=:
1098 1.12 mrg
1099 1.12 mrg EnumValue
1100 1.12 mrg Enum(instrument_return) String(none) Value(instrument_return_none)
1101 1.12 mrg
1102 1.12 mrg EnumValue
1103 1.12 mrg Enum(instrument_return) String(call) Value(instrument_return_call)
1104 1.12 mrg
1105 1.12 mrg EnumValue
1106 1.12 mrg Enum(instrument_return) String(nop5) Value(instrument_return_nop5)
1107 1.12 mrg
1108 1.12 mrg mrecord-return
1109 1.12 mrg Target Report Var(ix86_flag_record_return) Init(0)
1110 1.12 mrg Generate a __return_loc section pointing to all return instrumentation code.
1111 1.13 mrg
1112 1.13 mrg mavx512bf16
1113 1.13 mrg Target Report Mask(ISA2_AVX512BF16) Var(ix86_isa_flags2) Save
1114 1.13 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and
1115 1.13 mrg AVX512BF16 built-in functions and code generation.
1116 1.13 mrg
1117 1.13 mrg menqcmd
1118 1.13 mrg Target Report Mask(ISA2_ENQCMD) Var(ix86_isa_flags2) Save
1119 1.13 mrg Support ENQCMD built-in functions and code generation.
1120