i386.opt revision 1.8 1 1.1 mrg ; Options for the IA-32 and AMD64 ports of the compiler.
2 1.1 mrg
3 1.8 mrg ; Copyright (C) 2005-2016 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.3 mrg ; A mask of ix86_isa_flags that includes bit X if X was set or cleared
29 1.3 mrg ; on the command line.
30 1.3 mrg Variable
31 1.3 mrg HOST_WIDE_INT ix86_isa_flags_explicit
32 1.3 mrg
33 1.3 mrg TargetVariable
34 1.3 mrg int recip_mask = RECIP_MASK_DEFAULT
35 1.3 mrg
36 1.3 mrg Variable
37 1.3 mrg int recip_mask_explicit
38 1.3 mrg
39 1.3 mrg TargetSave
40 1.3 mrg int x_recip_mask_explicit
41 1.3 mrg
42 1.1 mrg ;; Definitions to add to the cl_target_option structure
43 1.1 mrg ;; -march= processor
44 1.1 mrg TargetSave
45 1.1 mrg unsigned char arch
46 1.1 mrg
47 1.1 mrg ;; -mtune= processor
48 1.1 mrg TargetSave
49 1.1 mrg unsigned char tune
50 1.1 mrg
51 1.5 mrg ;; -march= processor-string
52 1.5 mrg TargetSave
53 1.5 mrg const char *x_ix86_arch_string
54 1.5 mrg
55 1.5 mrg ;; -mtune= processor-string
56 1.5 mrg TargetSave
57 1.5 mrg const char *x_ix86_tune_string
58 1.5 mrg
59 1.1 mrg ;; CPU schedule model
60 1.1 mrg TargetSave
61 1.1 mrg unsigned char schedule
62 1.1 mrg
63 1.5 mrg ;; True if processor has SSE prefetch instruction.
64 1.5 mrg TargetSave
65 1.5 mrg unsigned char prefetch_sse
66 1.5 mrg
67 1.1 mrg ;; branch cost
68 1.1 mrg TargetSave
69 1.1 mrg unsigned char branch_cost
70 1.1 mrg
71 1.1 mrg ;; which flags were passed by the user
72 1.1 mrg TargetSave
73 1.3 mrg HOST_WIDE_INT x_ix86_isa_flags_explicit
74 1.1 mrg
75 1.1 mrg ;; which flags were passed by the user
76 1.5 mrg Variable
77 1.5 mrg int ix86_target_flags_explicit
78 1.5 mrg
79 1.5 mrg ;; which flags were passed by the user
80 1.1 mrg TargetSave
81 1.5 mrg HOST_WIDE_INT x_ix86_target_flags_explicit
82 1.1 mrg
83 1.1 mrg ;; whether -mtune was not specified
84 1.1 mrg TargetSave
85 1.1 mrg unsigned char tune_defaulted
86 1.1 mrg
87 1.1 mrg ;; whether -march was specified
88 1.1 mrg TargetSave
89 1.1 mrg unsigned char arch_specified
90 1.1 mrg
91 1.5 mrg ;; -mcmodel= model
92 1.5 mrg TargetSave
93 1.5 mrg enum cmodel x_ix86_cmodel
94 1.5 mrg
95 1.5 mrg ;; -mabi=
96 1.5 mrg TargetSave
97 1.5 mrg enum calling_abi x_ix86_abi
98 1.5 mrg
99 1.5 mrg ;; -masm=
100 1.5 mrg TargetSave
101 1.5 mrg enum asm_dialect x_ix86_asm_dialect
102 1.5 mrg
103 1.5 mrg ;; -mbranch-cost=
104 1.5 mrg TargetSave
105 1.5 mrg int x_ix86_branch_cost
106 1.5 mrg
107 1.8 mrg ;; -mdump-tune-features=
108 1.5 mrg TargetSave
109 1.5 mrg int x_ix86_dump_tunes
110 1.5 mrg
111 1.5 mrg ;; -mstackrealign=
112 1.5 mrg TargetSave
113 1.5 mrg int x_ix86_force_align_arg_pointer
114 1.5 mrg
115 1.8 mrg ;; -mforce-drap=
116 1.5 mrg TargetSave
117 1.5 mrg int x_ix86_force_drap
118 1.5 mrg
119 1.5 mrg ;; -mincoming-stack-boundary=
120 1.5 mrg TargetSave
121 1.5 mrg int x_ix86_incoming_stack_boundary_arg
122 1.5 mrg
123 1.5 mrg ;; -maddress-mode=
124 1.5 mrg TargetSave
125 1.5 mrg enum pmode x_ix86_pmode
126 1.5 mrg
127 1.8 mrg ;; -mpreferred-stack-boundary=
128 1.5 mrg TargetSave
129 1.5 mrg int x_ix86_preferred_stack_boundary_arg
130 1.5 mrg
131 1.5 mrg ;; -mrecip=
132 1.5 mrg TargetSave
133 1.5 mrg const char *x_ix86_recip_name
134 1.5 mrg
135 1.5 mrg ;; -mregparm=
136 1.5 mrg TargetSave
137 1.5 mrg int x_ix86_regparm
138 1.5 mrg
139 1.5 mrg ;; -mlarge-data-threshold=
140 1.5 mrg TargetSave
141 1.5 mrg int x_ix86_section_threshold
142 1.5 mrg
143 1.5 mrg ;; -msse2avx=
144 1.5 mrg TargetSave
145 1.5 mrg int x_ix86_sse2avx
146 1.5 mrg
147 1.5 mrg ;; -mstack-protector-guard=
148 1.5 mrg TargetSave
149 1.5 mrg enum stack_protector_guard x_ix86_stack_protector_guard
150 1.5 mrg
151 1.5 mrg ;; -mstringop-strategy=
152 1.5 mrg TargetSave
153 1.5 mrg enum stringop_alg x_ix86_stringop_alg
154 1.5 mrg
155 1.5 mrg ;; -mtls-dialect=
156 1.5 mrg TargetSave
157 1.5 mrg enum tls_dialect x_ix86_tls_dialect
158 1.5 mrg
159 1.5 mrg ;; -mtune-ctrl=
160 1.5 mrg TargetSave
161 1.5 mrg const char *x_ix86_tune_ctrl_string
162 1.5 mrg
163 1.5 mrg ;; -mmemcpy-strategy=
164 1.5 mrg TargetSave
165 1.5 mrg const char *x_ix86_tune_memcpy_strategy
166 1.5 mrg
167 1.5 mrg ;; -mmemset-strategy=
168 1.5 mrg TargetSave
169 1.5 mrg const char *x_ix86_tune_memset_strategy
170 1.5 mrg
171 1.5 mrg ;; -mno-default=
172 1.5 mrg TargetSave
173 1.5 mrg int x_ix86_tune_no_default
174 1.5 mrg
175 1.5 mrg ;; -mveclibabi=
176 1.5 mrg TargetSave
177 1.5 mrg enum ix86_veclibabi x_ix86_veclibabi_type
178 1.5 mrg
179 1.1 mrg ;; x86 options
180 1.1 mrg m128bit-long-double
181 1.1 mrg Target RejectNegative Report Mask(128BIT_LONG_DOUBLE) Save
182 1.8 mrg sizeof(long double) is 16.
183 1.1 mrg
184 1.1 mrg m80387
185 1.1 mrg Target Report Mask(80387) Save
186 1.8 mrg Use hardware fp.
187 1.1 mrg
188 1.1 mrg m96bit-long-double
189 1.1 mrg Target RejectNegative Report InverseMask(128BIT_LONG_DOUBLE) Save
190 1.8 mrg sizeof(long double) is 12.
191 1.1 mrg
192 1.3 mrg mlong-double-80
193 1.5 mrg Target Report RejectNegative Negative(mlong-double-64) InverseMask(LONG_DOUBLE_64) Save
194 1.8 mrg Use 80-bit long double.
195 1.3 mrg
196 1.3 mrg mlong-double-64
197 1.5 mrg Target Report RejectNegative Negative(mlong-double-128) Mask(LONG_DOUBLE_64) InverseMask(LONG_DOUBLE_128) Save
198 1.8 mrg Use 64-bit long double.
199 1.3 mrg
200 1.5 mrg mlong-double-128
201 1.5 mrg Target Report RejectNegative Negative(mlong-double-80) Mask(LONG_DOUBLE_128) InverseMask(LONG_DOUBLE_64) Save
202 1.8 mrg Use 128-bit long double.
203 1.5 mrg
204 1.1 mrg maccumulate-outgoing-args
205 1.1 mrg Target Report Mask(ACCUMULATE_OUTGOING_ARGS) Save
206 1.8 mrg Reserve space for outgoing arguments in the function prologue.
207 1.1 mrg
208 1.1 mrg malign-double
209 1.1 mrg Target Report Mask(ALIGN_DOUBLE) Save
210 1.8 mrg Align some doubles on dword boundary.
211 1.1 mrg
212 1.1 mrg malign-functions=
213 1.3 mrg Target RejectNegative Joined UInteger
214 1.8 mrg Function starts are aligned to this power of 2.
215 1.1 mrg
216 1.1 mrg malign-jumps=
217 1.3 mrg Target RejectNegative Joined UInteger
218 1.8 mrg Jump targets are aligned to this power of 2.
219 1.1 mrg
220 1.1 mrg malign-loops=
221 1.3 mrg Target RejectNegative Joined UInteger
222 1.8 mrg Loop code aligned to this power of 2.
223 1.1 mrg
224 1.1 mrg malign-stringops
225 1.1 mrg Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS) Save
226 1.8 mrg Align destination of the string operations.
227 1.1 mrg
228 1.5 mrg malign-data=
229 1.5 mrg Target RejectNegative Joined Var(ix86_align_data_type) Enum(ix86_align_data) Init(ix86_align_data_type_compat)
230 1.8 mrg Use the given data alignment.
231 1.5 mrg
232 1.5 mrg Enum
233 1.5 mrg Name(ix86_align_data) Type(enum ix86_align_data)
234 1.5 mrg Known data alignment choices (for use with the -malign-data= option):
235 1.5 mrg
236 1.5 mrg EnumValue
237 1.5 mrg Enum(ix86_align_data) String(compat) Value(ix86_align_data_type_compat)
238 1.5 mrg
239 1.5 mrg EnumValue
240 1.5 mrg Enum(ix86_align_data) String(abi) Value(ix86_align_data_type_abi)
241 1.5 mrg
242 1.5 mrg EnumValue
243 1.5 mrg Enum(ix86_align_data) String(cacheline) Value(ix86_align_data_type_cacheline)
244 1.5 mrg
245 1.1 mrg march=
246 1.1 mrg Target RejectNegative Joined Var(ix86_arch_string)
247 1.8 mrg Generate code for given CPU.
248 1.1 mrg
249 1.1 mrg masm=
250 1.3 mrg Target RejectNegative Joined Enum(asm_dialect) Var(ix86_asm_dialect) Init(ASM_ATT)
251 1.8 mrg Use given assembler dialect.
252 1.1 mrg
253 1.3 mrg Enum
254 1.3 mrg Name(asm_dialect) Type(enum asm_dialect)
255 1.3 mrg Known assembler dialects (for use with the -masm-dialect= option):
256 1.3 mrg
257 1.3 mrg EnumValue
258 1.3 mrg Enum(asm_dialect) String(intel) Value(ASM_INTEL)
259 1.3 mrg
260 1.3 mrg EnumValue
261 1.3 mrg Enum(asm_dialect) String(att) Value(ASM_ATT)
262 1.3 mrg
263 1.1 mrg mbranch-cost=
264 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_branch_cost)
265 1.8 mrg Branches are this expensive (1-5, arbitrary units).
266 1.1 mrg
267 1.1 mrg mlarge-data-threshold=
268 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_section_threshold) Init(DEFAULT_LARGE_SECTION_THRESHOLD)
269 1.8 mrg Data greater than given threshold will go into .ldata section in x86-64 medium model.
270 1.1 mrg
271 1.1 mrg mcmodel=
272 1.3 mrg Target RejectNegative Joined Enum(cmodel) Var(ix86_cmodel) Init(CM_32)
273 1.8 mrg Use given x86-64 code model.
274 1.1 mrg
275 1.3 mrg Enum
276 1.3 mrg Name(cmodel) Type(enum cmodel)
277 1.3 mrg Known code models (for use with the -mcmodel= option):
278 1.3 mrg
279 1.3 mrg EnumValue
280 1.3 mrg Enum(cmodel) String(small) Value(CM_SMALL)
281 1.3 mrg
282 1.3 mrg EnumValue
283 1.3 mrg Enum(cmodel) String(medium) Value(CM_MEDIUM)
284 1.3 mrg
285 1.3 mrg EnumValue
286 1.3 mrg Enum(cmodel) String(large) Value(CM_LARGE)
287 1.3 mrg
288 1.3 mrg EnumValue
289 1.3 mrg Enum(cmodel) String(32) Value(CM_32)
290 1.3 mrg
291 1.3 mrg EnumValue
292 1.3 mrg Enum(cmodel) String(kernel) Value(CM_KERNEL)
293 1.3 mrg
294 1.3 mrg maddress-mode=
295 1.3 mrg Target RejectNegative Joined Enum(pmode) Var(ix86_pmode) Init(PMODE_SI)
296 1.8 mrg Use given address mode.
297 1.3 mrg
298 1.3 mrg Enum
299 1.3 mrg Name(pmode) Type(enum pmode)
300 1.3 mrg Known address mode (for use with the -maddress-mode= option):
301 1.3 mrg
302 1.3 mrg EnumValue
303 1.3 mrg Enum(pmode) String(short) Value(PMODE_SI)
304 1.3 mrg
305 1.3 mrg EnumValue
306 1.3 mrg Enum(pmode) String(long) Value(PMODE_DI)
307 1.3 mrg
308 1.3 mrg mcpu=
309 1.3 mrg Target RejectNegative Joined Undocumented Alias(mtune=) Warn(%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead)
310 1.3 mrg
311 1.1 mrg mfancy-math-387
312 1.1 mrg Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387) Save
313 1.8 mrg Generate sin, cos, sqrt for FPU.
314 1.1 mrg
315 1.1 mrg mforce-drap
316 1.1 mrg Target Report Var(ix86_force_drap)
317 1.8 mrg Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack.
318 1.1 mrg
319 1.1 mrg mfp-ret-in-387
320 1.1 mrg Target Report Mask(FLOAT_RETURNS) Save
321 1.8 mrg Return values of functions in FPU registers.
322 1.1 mrg
323 1.1 mrg mfpmath=
324 1.3 mrg Target RejectNegative Joined Var(ix86_fpmath) Enum(fpmath_unit) Init(FPMATH_387) Save
325 1.8 mrg Generate floating point mathematics using given instruction set.
326 1.1 mrg
327 1.3 mrg Enum
328 1.3 mrg Name(fpmath_unit) Type(enum fpmath_unit)
329 1.3 mrg Valid arguments to -mfpmath=:
330 1.3 mrg
331 1.3 mrg EnumValue
332 1.3 mrg Enum(fpmath_unit) String(387) Value(FPMATH_387)
333 1.3 mrg
334 1.3 mrg EnumValue
335 1.3 mrg Enum(fpmath_unit) String(sse) Value(FPMATH_SSE)
336 1.3 mrg
337 1.3 mrg EnumValue
338 1.3 mrg Enum(fpmath_unit) String(387,sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
339 1.3 mrg
340 1.3 mrg EnumValue
341 1.3 mrg Enum(fpmath_unit) String(387+sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
342 1.3 mrg
343 1.3 mrg EnumValue
344 1.3 mrg Enum(fpmath_unit) String(sse,387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
345 1.3 mrg
346 1.3 mrg EnumValue
347 1.3 mrg Enum(fpmath_unit) String(sse+387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
348 1.3 mrg
349 1.3 mrg EnumValue
350 1.3 mrg Enum(fpmath_unit) String(both) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
351 1.3 mrg
352 1.1 mrg mhard-float
353 1.3 mrg Target RejectNegative Mask(80387) Save
354 1.8 mrg Use hardware fp.
355 1.1 mrg
356 1.1 mrg mieee-fp
357 1.1 mrg Target Report Mask(IEEE_FP) Save
358 1.8 mrg Use IEEE math for fp comparisons.
359 1.1 mrg
360 1.1 mrg minline-all-stringops
361 1.1 mrg Target Report Mask(INLINE_ALL_STRINGOPS) Save
362 1.8 mrg Inline all known string operations.
363 1.1 mrg
364 1.1 mrg minline-stringops-dynamically
365 1.1 mrg Target Report Mask(INLINE_STRINGOPS_DYNAMICALLY) Save
366 1.8 mrg Inline memset/memcpy string operations, but perform inline version only for small blocks.
367 1.1 mrg
368 1.1 mrg mintel-syntax
369 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)
370 1.1 mrg ;; Deprecated
371 1.1 mrg
372 1.1 mrg mms-bitfields
373 1.1 mrg Target Report Mask(MS_BITFIELD_LAYOUT) Save
374 1.8 mrg Use native (MS) bitfield layout.
375 1.1 mrg
376 1.1 mrg mno-align-stringops
377 1.1 mrg Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented Save
378 1.1 mrg
379 1.1 mrg mno-fancy-math-387
380 1.1 mrg Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented Save
381 1.1 mrg
382 1.1 mrg mno-push-args
383 1.1 mrg Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented Save
384 1.1 mrg
385 1.1 mrg mno-red-zone
386 1.1 mrg Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented Save
387 1.1 mrg
388 1.1 mrg momit-leaf-frame-pointer
389 1.1 mrg Target Report Mask(OMIT_LEAF_FRAME_POINTER) Save
390 1.8 mrg Omit the frame pointer in leaf functions.
391 1.1 mrg
392 1.3 mrg mpc32
393 1.3 mrg Target RejectNegative Report
394 1.8 mrg Set 80387 floating-point precision to 32-bit.
395 1.3 mrg
396 1.3 mrg mpc64
397 1.3 mrg Target RejectNegative Report
398 1.8 mrg Set 80387 floating-point precision to 64-bit.
399 1.3 mrg
400 1.3 mrg mpc80
401 1.3 mrg Target RejectNegative Report
402 1.8 mrg Set 80387 floating-point precision to 80-bit.
403 1.1 mrg
404 1.1 mrg mpreferred-stack-boundary=
405 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_preferred_stack_boundary_arg)
406 1.8 mrg Attempt to keep stack aligned to this power of 2.
407 1.1 mrg
408 1.1 mrg mincoming-stack-boundary=
409 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_incoming_stack_boundary_arg)
410 1.8 mrg Assume incoming stack aligned to this power of 2.
411 1.1 mrg
412 1.1 mrg mpush-args
413 1.1 mrg Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS) Save
414 1.8 mrg Use push instructions to save outgoing arguments.
415 1.1 mrg
416 1.1 mrg mred-zone
417 1.1 mrg Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE) Save
418 1.8 mrg Use red-zone in the x86-64 code.
419 1.1 mrg
420 1.1 mrg mregparm=
421 1.3 mrg Target RejectNegative Joined UInteger Var(ix86_regparm)
422 1.8 mrg Number of registers used to pass integer arguments.
423 1.1 mrg
424 1.1 mrg mrtd
425 1.1 mrg Target Report Mask(RTD) Save
426 1.8 mrg Alternate calling convention.
427 1.1 mrg
428 1.1 mrg msoft-float
429 1.1 mrg Target InverseMask(80387) Save
430 1.8 mrg Do not use hardware fp.
431 1.1 mrg
432 1.1 mrg msseregparm
433 1.1 mrg Target RejectNegative Mask(SSEREGPARM) Save
434 1.8 mrg Use SSE register passing conventions for SF and DF mode.
435 1.1 mrg
436 1.1 mrg mstackrealign
437 1.1 mrg Target Report Var(ix86_force_align_arg_pointer) Init(-1)
438 1.8 mrg Realign stack in prologue.
439 1.1 mrg
440 1.1 mrg mstack-arg-probe
441 1.1 mrg Target Report Mask(STACK_PROBE) Save
442 1.8 mrg Enable stack probing.
443 1.1 mrg
444 1.5 mrg mmemcpy-strategy=
445 1.5 mrg Target RejectNegative Joined Var(ix86_tune_memcpy_strategy)
446 1.8 mrg Specify memcpy expansion strategy when expected size is known.
447 1.5 mrg
448 1.5 mrg mmemset-strategy=
449 1.5 mrg Target RejectNegative Joined Var(ix86_tune_memset_strategy)
450 1.8 mrg Specify memset expansion strategy when expected size is known.
451 1.5 mrg
452 1.1 mrg mstringop-strategy=
453 1.3 mrg Target RejectNegative Joined Enum(stringop_alg) Var(ix86_stringop_alg) Init(no_stringop)
454 1.8 mrg Chose strategy to generate stringop using.
455 1.1 mrg
456 1.3 mrg Enum
457 1.3 mrg Name(stringop_alg) Type(enum stringop_alg)
458 1.3 mrg Valid arguments to -mstringop-strategy=:
459 1.3 mrg
460 1.3 mrg EnumValue
461 1.3 mrg Enum(stringop_alg) String(rep_byte) Value(rep_prefix_1_byte)
462 1.3 mrg
463 1.3 mrg EnumValue
464 1.3 mrg Enum(stringop_alg) String(libcall) Value(libcall)
465 1.3 mrg
466 1.3 mrg EnumValue
467 1.3 mrg Enum(stringop_alg) String(rep_4byte) Value(rep_prefix_4_byte)
468 1.3 mrg
469 1.3 mrg EnumValue
470 1.3 mrg Enum(stringop_alg) String(rep_8byte) Value(rep_prefix_8_byte)
471 1.3 mrg
472 1.3 mrg EnumValue
473 1.3 mrg Enum(stringop_alg) String(byte_loop) Value(loop_1_byte)
474 1.3 mrg
475 1.3 mrg EnumValue
476 1.3 mrg Enum(stringop_alg) String(loop) Value(loop)
477 1.3 mrg
478 1.3 mrg EnumValue
479 1.3 mrg Enum(stringop_alg) String(unrolled_loop) Value(unrolled_loop)
480 1.3 mrg
481 1.5 mrg EnumValue
482 1.5 mrg Enum(stringop_alg) String(vector_loop) Value(vector_loop)
483 1.5 mrg
484 1.1 mrg mtls-dialect=
485 1.3 mrg Target RejectNegative Joined Var(ix86_tls_dialect) Enum(tls_dialect) Init(TLS_DIALECT_GNU)
486 1.8 mrg Use given thread-local storage dialect.
487 1.1 mrg
488 1.3 mrg Enum
489 1.3 mrg Name(tls_dialect) Type(enum tls_dialect)
490 1.3 mrg Known TLS dialects (for use with the -mtls-dialect= option):
491 1.3 mrg
492 1.3 mrg EnumValue
493 1.3 mrg Enum(tls_dialect) String(gnu) Value(TLS_DIALECT_GNU)
494 1.3 mrg
495 1.3 mrg EnumValue
496 1.3 mrg Enum(tls_dialect) String(gnu2) Value(TLS_DIALECT_GNU2)
497 1.3 mrg
498 1.1 mrg mtls-direct-seg-refs
499 1.1 mrg Target Report Mask(TLS_DIRECT_SEG_REFS)
500 1.8 mrg Use direct references against %gs when accessing tls data.
501 1.1 mrg
502 1.1 mrg mtune=
503 1.1 mrg Target RejectNegative Joined Var(ix86_tune_string)
504 1.8 mrg Schedule code for given CPU.
505 1.1 mrg
506 1.5 mrg mtune-ctrl=
507 1.5 mrg Target RejectNegative Joined Var(ix86_tune_ctrl_string)
508 1.8 mrg Fine grain control of tune features.
509 1.5 mrg
510 1.5 mrg mno-default
511 1.5 mrg Target RejectNegative Var(ix86_tune_no_default) Init(0)
512 1.8 mrg Clear all tune features.
513 1.5 mrg
514 1.5 mrg mdump-tune-features
515 1.5 mrg Target RejectNegative Var(ix86_dump_tunes) Init(0)
516 1.5 mrg
517 1.8 mrg miamcu
518 1.8 mrg Target Report Mask(IAMCU)
519 1.8 mrg Generate code that conforms to Intel MCU psABI.
520 1.8 mrg
521 1.1 mrg mabi=
522 1.3 mrg Target RejectNegative Joined Var(ix86_abi) Enum(calling_abi) Init(SYSV_ABI)
523 1.8 mrg Generate code that conforms to the given ABI.
524 1.1 mrg
525 1.3 mrg Enum
526 1.3 mrg Name(calling_abi) Type(enum calling_abi)
527 1.3 mrg Known ABIs (for use with the -mabi= option):
528 1.3 mrg
529 1.3 mrg EnumValue
530 1.3 mrg Enum(calling_abi) String(sysv) Value(SYSV_ABI)
531 1.3 mrg
532 1.3 mrg EnumValue
533 1.3 mrg Enum(calling_abi) String(ms) Value(MS_ABI)
534 1.3 mrg
535 1.1 mrg mveclibabi=
536 1.3 mrg Target RejectNegative Joined Var(ix86_veclibabi_type) Enum(ix86_veclibabi) Init(ix86_veclibabi_type_none)
537 1.8 mrg Vector library ABI to use.
538 1.1 mrg
539 1.3 mrg Enum
540 1.3 mrg Name(ix86_veclibabi) Type(enum ix86_veclibabi)
541 1.3 mrg Known vectorization library ABIs (for use with the -mveclibabi= option):
542 1.3 mrg
543 1.3 mrg EnumValue
544 1.3 mrg Enum(ix86_veclibabi) String(svml) Value(ix86_veclibabi_type_svml)
545 1.3 mrg
546 1.3 mrg EnumValue
547 1.3 mrg Enum(ix86_veclibabi) String(acml) Value(ix86_veclibabi_type_acml)
548 1.3 mrg
549 1.3 mrg mvect8-ret-in-mem
550 1.3 mrg Target Report Mask(VECT8_RETURNS) Save
551 1.8 mrg Return 8-byte vectors in memory.
552 1.3 mrg
553 1.1 mrg mrecip
554 1.1 mrg Target Report Mask(RECIP) Save
555 1.1 mrg Generate reciprocals instead of divss and sqrtss.
556 1.1 mrg
557 1.3 mrg mrecip=
558 1.3 mrg Target Report RejectNegative Joined Var(ix86_recip_name)
559 1.3 mrg Control generation of reciprocal estimates.
560 1.3 mrg
561 1.1 mrg mcld
562 1.1 mrg Target Report Mask(CLD) Save
563 1.1 mrg Generate cld instruction in the function prologue.
564 1.1 mrg
565 1.3 mrg mvzeroupper
566 1.3 mrg Target Report Mask(VZEROUPPER) Save
567 1.3 mrg Generate vzeroupper instruction before a transfer of control flow out of
568 1.3 mrg the function.
569 1.3 mrg
570 1.8 mrg mstv
571 1.8 mrg Target Report Mask(STV) Save
572 1.8 mrg Disable Scalar to Vector optimization pass transforming 64-bit integer
573 1.8 mrg computations into a vector ones.
574 1.8 mrg
575 1.3 mrg mdispatch-scheduler
576 1.3 mrg Target RejectNegative Var(flag_dispatch_scheduler)
577 1.8 mrg Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4
578 1.8 mrg or znver1 and Haifa scheduling is selected.
579 1.3 mrg
580 1.3 mrg mprefer-avx128
581 1.3 mrg Target Report Mask(PREFER_AVX128) SAVE
582 1.3 mrg Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer.
583 1.1 mrg
584 1.1 mrg ;; ISA support
585 1.1 mrg
586 1.1 mrg m32
587 1.3 mrg Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save
588 1.8 mrg Generate 32bit i386 code.
589 1.1 mrg
590 1.1 mrg m64
591 1.3 mrg Target RejectNegative Negative(mx32) Report Mask(ABI_64) Var(ix86_isa_flags) Save
592 1.8 mrg Generate 64bit x86-64 code.
593 1.1 mrg
594 1.3 mrg mx32
595 1.5 mrg Target RejectNegative Negative(m16) Report Mask(ABI_X32) Var(ix86_isa_flags) Save
596 1.8 mrg Generate 32bit x86-64 code.
597 1.3 mrg
598 1.5 mrg m16
599 1.5 mrg Target RejectNegative Negative(m32) Report Mask(CODE16) InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save
600 1.8 mrg Generate 16bit i386 code.
601 1.5 mrg
602 1.1 mrg mmmx
603 1.3 mrg Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save
604 1.8 mrg Support MMX built-in functions.
605 1.1 mrg
606 1.1 mrg m3dnow
607 1.3 mrg Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) Save
608 1.8 mrg Support 3DNow! built-in functions.
609 1.1 mrg
610 1.1 mrg m3dnowa
611 1.3 mrg Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) Save
612 1.8 mrg Support Athlon 3Dnow! built-in functions.
613 1.1 mrg
614 1.1 mrg msse
615 1.3 mrg Target Report Mask(ISA_SSE) Var(ix86_isa_flags) Save
616 1.8 mrg Support MMX and SSE built-in functions and code generation.
617 1.1 mrg
618 1.1 mrg msse2
619 1.3 mrg Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) Save
620 1.8 mrg Support MMX, SSE and SSE2 built-in functions and code generation.
621 1.1 mrg
622 1.1 mrg msse3
623 1.3 mrg Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) Save
624 1.8 mrg Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation.
625 1.1 mrg
626 1.1 mrg mssse3
627 1.3 mrg Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) Save
628 1.8 mrg Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation.
629 1.1 mrg
630 1.1 mrg msse4.1
631 1.3 mrg Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) Save
632 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation.
633 1.1 mrg
634 1.1 mrg msse4.2
635 1.3 mrg Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
636 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.
637 1.1 mrg
638 1.1 mrg msse4
639 1.3 mrg Target RejectNegative Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
640 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation.
641 1.1 mrg
642 1.1 mrg mno-sse4
643 1.3 mrg Target RejectNegative Report InverseMask(ISA_SSE4_1) Var(ix86_isa_flags) Save
644 1.8 mrg Do not support SSE4.1 and SSE4.2 built-in functions and code generation.
645 1.1 mrg
646 1.3 mrg msse5
647 1.3 mrg Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed)
648 1.3 mrg ;; Deprecated
649 1.3 mrg
650 1.1 mrg mavx
651 1.3 mrg Target Report Mask(ISA_AVX) Var(ix86_isa_flags) Save
652 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation.
653 1.1 mrg
654 1.3 mrg mavx2
655 1.3 mrg Target Report Mask(ISA_AVX2) Var(ix86_isa_flags) Save
656 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation.
657 1.3 mrg
658 1.5 mrg mavx512f
659 1.5 mrg Target Report Mask(ISA_AVX512F) Var(ix86_isa_flags) Save
660 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation.
661 1.5 mrg
662 1.5 mrg mavx512pf
663 1.5 mrg Target Report Mask(ISA_AVX512PF) Var(ix86_isa_flags) Save
664 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.
665 1.5 mrg
666 1.5 mrg mavx512er
667 1.5 mrg Target Report Mask(ISA_AVX512ER) Var(ix86_isa_flags) Save
668 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.
669 1.5 mrg
670 1.5 mrg mavx512cd
671 1.5 mrg Target Report Mask(ISA_AVX512CD) Var(ix86_isa_flags) Save
672 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.
673 1.5 mrg
674 1.5 mrg mavx512dq
675 1.5 mrg Target Report Mask(ISA_AVX512DQ) Var(ix86_isa_flags) Save
676 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.
677 1.5 mrg
678 1.5 mrg mavx512bw
679 1.5 mrg Target Report Mask(ISA_AVX512BW) Var(ix86_isa_flags) Save
680 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.
681 1.5 mrg
682 1.5 mrg mavx512vl
683 1.5 mrg Target Report Mask(ISA_AVX512VL) Var(ix86_isa_flags) Save
684 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.
685 1.5 mrg
686 1.5 mrg mavx512ifma
687 1.5 mrg Target Report Mask(ISA_AVX512IFMA) Var(ix86_isa_flags) Save
688 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.
689 1.5 mrg
690 1.5 mrg mavx512vbmi
691 1.5 mrg Target Report Mask(ISA_AVX512VBMI) Var(ix86_isa_flags) Save
692 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.
693 1.5 mrg
694 1.1 mrg mfma
695 1.3 mrg Target Report Mask(ISA_FMA) Var(ix86_isa_flags) Save
696 1.8 mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation.
697 1.1 mrg
698 1.1 mrg msse4a
699 1.3 mrg Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) Save
700 1.8 mrg Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation.
701 1.1 mrg
702 1.1 mrg mfma4
703 1.3 mrg Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save
704 1.8 mrg Support FMA4 built-in functions and code generation.
705 1.1 mrg
706 1.1 mrg mxop
707 1.3 mrg Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save
708 1.8 mrg Support XOP built-in functions and code generation.
709 1.1 mrg
710 1.1 mrg mlwp
711 1.3 mrg Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save
712 1.8 mrg Support LWP built-in functions and code generation.
713 1.1 mrg
714 1.1 mrg mabm
715 1.3 mrg Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save
716 1.1 mrg Support code generation of Advanced Bit Manipulation (ABM) instructions.
717 1.1 mrg
718 1.1 mrg mpopcnt
719 1.3 mrg Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) Save
720 1.1 mrg Support code generation of popcnt instruction.
721 1.1 mrg
722 1.3 mrg mbmi
723 1.3 mrg Target Report Mask(ISA_BMI) Var(ix86_isa_flags) Save
724 1.8 mrg Support BMI built-in functions and code generation.
725 1.3 mrg
726 1.3 mrg mbmi2
727 1.3 mrg Target Report Mask(ISA_BMI2) Var(ix86_isa_flags) Save
728 1.8 mrg Support BMI2 built-in functions and code generation.
729 1.3 mrg
730 1.3 mrg mlzcnt
731 1.3 mrg Target Report Mask(ISA_LZCNT) Var(ix86_isa_flags) Save
732 1.8 mrg Support LZCNT built-in function and code generation.
733 1.3 mrg
734 1.3 mrg mhle
735 1.3 mrg Target Report Mask(ISA_HLE) Var(ix86_isa_flags) Save
736 1.8 mrg Support Hardware Lock Elision prefixes.
737 1.3 mrg
738 1.3 mrg mrdseed
739 1.3 mrg Target Report Mask(ISA_RDSEED) Var(ix86_isa_flags) Save
740 1.8 mrg Support RDSEED instruction.
741 1.3 mrg
742 1.3 mrg mprfchw
743 1.3 mrg Target Report Mask(ISA_PRFCHW) Var(ix86_isa_flags) Save
744 1.8 mrg Support PREFETCHW instruction.
745 1.3 mrg
746 1.3 mrg madx
747 1.3 mrg Target Report Mask(ISA_ADX) Var(ix86_isa_flags) Save
748 1.8 mrg Support flag-preserving add-carry instructions.
749 1.3 mrg
750 1.5 mrg mclflushopt
751 1.5 mrg Target Report Mask(ISA_CLFLUSHOPT) Var(ix86_isa_flags) Save
752 1.8 mrg Support CLFLUSHOPT instructions.
753 1.5 mrg
754 1.5 mrg mclwb
755 1.5 mrg Target Report Mask(ISA_CLWB) Var(ix86_isa_flags) Save
756 1.8 mrg Support CLWB instruction.
757 1.5 mrg
758 1.5 mrg mpcommit
759 1.6 mrg Target Undocumented Warn(%<-mpcommit%> was deprecated)
760 1.6 mrg ;; Deprecated
761 1.5 mrg
762 1.3 mrg mfxsr
763 1.3 mrg Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
764 1.8 mrg Support FXSAVE and FXRSTOR instructions.
765 1.3 mrg
766 1.3 mrg mxsave
767 1.3 mrg Target Report Mask(ISA_XSAVE) Var(ix86_isa_flags) Save
768 1.8 mrg Support XSAVE and XRSTOR instructions.
769 1.3 mrg
770 1.3 mrg mxsaveopt
771 1.3 mrg Target Report Mask(ISA_XSAVEOPT) Var(ix86_isa_flags) Save
772 1.8 mrg Support XSAVEOPT instruction.
773 1.3 mrg
774 1.5 mrg mxsavec
775 1.5 mrg Target Report Mask(ISA_XSAVEC) Var(ix86_isa_flags) Save
776 1.8 mrg Support XSAVEC instructions.
777 1.5 mrg
778 1.5 mrg mxsaves
779 1.5 mrg Target Report Mask(ISA_XSAVES) Var(ix86_isa_flags) Save
780 1.8 mrg Support XSAVES and XRSTORS instructions.
781 1.5 mrg
782 1.3 mrg mtbm
783 1.3 mrg Target Report Mask(ISA_TBM) Var(ix86_isa_flags) Save
784 1.8 mrg Support TBM built-in functions and code generation.
785 1.3 mrg
786 1.1 mrg mcx16
787 1.3 mrg Target Report Mask(ISA_CX16) Var(ix86_isa_flags) Save
788 1.1 mrg Support code generation of cmpxchg16b instruction.
789 1.1 mrg
790 1.1 mrg msahf
791 1.3 mrg Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) Save
792 1.1 mrg Support code generation of sahf instruction in 64bit x86-64 code.
793 1.1 mrg
794 1.1 mrg mmovbe
795 1.3 mrg Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) Save
796 1.1 mrg Support code generation of movbe instruction.
797 1.1 mrg
798 1.1 mrg mcrc32
799 1.3 mrg Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) Save
800 1.1 mrg Support code generation of crc32 instruction.
801 1.1 mrg
802 1.1 mrg maes
803 1.3 mrg Target Report Mask(ISA_AES) Var(ix86_isa_flags) Save
804 1.8 mrg Support AES built-in functions and code generation.
805 1.1 mrg
806 1.5 mrg msha
807 1.5 mrg Target Report Mask(ISA_SHA) Var(ix86_isa_flags) Save
808 1.8 mrg Support SHA1 and SHA256 built-in functions and code generation.
809 1.5 mrg
810 1.1 mrg mpclmul
811 1.3 mrg Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) Save
812 1.8 mrg Support PCLMUL built-in functions and code generation.
813 1.1 mrg
814 1.1 mrg msse2avx
815 1.1 mrg Target Report Var(ix86_sse2avx)
816 1.8 mrg Encode SSE instructions with VEX prefix.
817 1.3 mrg
818 1.3 mrg mfsgsbase
819 1.3 mrg Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save
820 1.8 mrg Support FSGSBASE built-in functions and code generation.
821 1.3 mrg
822 1.3 mrg mrdrnd
823 1.3 mrg Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) Save
824 1.8 mrg Support RDRND built-in functions and code generation.
825 1.3 mrg
826 1.3 mrg mf16c
827 1.3 mrg Target Report Mask(ISA_F16C) Var(ix86_isa_flags) Save
828 1.8 mrg Support F16C built-in functions and code generation.
829 1.3 mrg
830 1.5 mrg mprefetchwt1
831 1.5 mrg Target Report Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save
832 1.8 mrg Support PREFETCHWT1 built-in functions and code generation.
833 1.5 mrg
834 1.3 mrg mfentry
835 1.3 mrg Target Report Var(flag_fentry) Init(-1)
836 1.3 mrg Emit profiling counter call at function entry before prologue.
837 1.3 mrg
838 1.5 mrg mrecord-mcount
839 1.5 mrg Target Report Var(flag_record_mcount) Init(0)
840 1.5 mrg Generate __mcount_loc section with all mcount or __fentry__ calls.
841 1.5 mrg
842 1.5 mrg mnop-mcount
843 1.5 mrg Target Report Var(flag_nop_mcount) Init(0)
844 1.5 mrg Generate mcount/__fentry__ calls as nops. To activate they need to be
845 1.5 mrg patched in.
846 1.5 mrg
847 1.5 mrg mskip-rax-setup
848 1.5 mrg Target Report Var(flag_skip_rax_setup) Init(0)
849 1.5 mrg Skip setting up RAX register when passing variable arguments.
850 1.5 mrg
851 1.3 mrg m8bit-idiv
852 1.3 mrg Target Report Mask(USE_8BIT_IDIV) Save
853 1.8 mrg Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check.
854 1.3 mrg
855 1.3 mrg mavx256-split-unaligned-load
856 1.3 mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_LOAD) Save
857 1.8 mrg Split 32-byte AVX unaligned load.
858 1.3 mrg
859 1.3 mrg mavx256-split-unaligned-store
860 1.3 mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_STORE) Save
861 1.8 mrg Split 32-byte AVX unaligned store.
862 1.3 mrg
863 1.3 mrg mrtm
864 1.3 mrg Target Report Mask(ISA_RTM) Var(ix86_isa_flags) Save
865 1.8 mrg Support RTM built-in functions and code generation.
866 1.5 mrg
867 1.5 mrg mmpx
868 1.5 mrg Target Report Mask(ISA_MPX) Var(ix86_isa_flags) Save
869 1.8 mrg Support MPX code generation.
870 1.5 mrg
871 1.5 mrg mmwaitx
872 1.5 mrg Target Report Mask(ISA_MWAITX) Var(ix86_isa_flags) Save
873 1.8 mrg Support MWAITX and MONITORX built-in functions and code generation.
874 1.8 mrg
875 1.8 mrg mclzero
876 1.8 mrg Target Report Mask(ISA_CLZERO) Var(ix86_isa_flags) Save
877 1.8 mrg Support CLZERO built-in functions and code generation.
878 1.8 mrg
879 1.8 mrg mpku
880 1.8 mrg Target Report Mask(ISA_PKU) Var(ix86_isa_flags) Save
881 1.8 mrg Support PKU built-in functions and code generation.
882 1.5 mrg
883 1.5 mrg mstack-protector-guard=
884 1.5 mrg Target RejectNegative Joined Enum(stack_protector_guard) Var(ix86_stack_protector_guard) Init(SSP_TLS)
885 1.8 mrg Use given stack-protector guard.
886 1.5 mrg
887 1.5 mrg Enum
888 1.5 mrg Name(stack_protector_guard) Type(enum stack_protector_guard)
889 1.5 mrg Known stack protector guard (for use with the -mstack-protector-guard= option):
890 1.5 mrg
891 1.5 mrg EnumValue
892 1.5 mrg Enum(stack_protector_guard) String(tls) Value(SSP_TLS)
893 1.5 mrg
894 1.5 mrg EnumValue
895 1.5 mrg Enum(stack_protector_guard) String(global) Value(SSP_GLOBAL)
896 1.7 mrg
897 1.8 mrg mmitigate-rop
898 1.8 mrg Target Var(flag_mitigate_rop) Init(0)
899 1.8 mrg Attempt to avoid generating instruction sequences containing ret bytes.
900 1.8 mrg
901 1.7 mrg mindirect-branch=
902 1.7 mrg Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep)
903 1.7 mrg Convert indirect call and jump to call and return thunks.
904 1.7 mrg
905 1.7 mrg mfunction-return=
906 1.7 mrg Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_function_return) Init(indirect_branch_keep)
907 1.7 mrg Convert function return to call and return thunk.
908 1.7 mrg
909 1.7 mrg Enum
910 1.7 mrg Name(indirect_branch) Type(enum indirect_branch)
911 1.7 mrg Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
912 1.7 mrg
913 1.7 mrg EnumValue
914 1.7 mrg Enum(indirect_branch) String(keep) Value(indirect_branch_keep)
915 1.7 mrg
916 1.7 mrg EnumValue
917 1.7 mrg Enum(indirect_branch) String(thunk) Value(indirect_branch_thunk)
918 1.7 mrg
919 1.7 mrg EnumValue
920 1.7 mrg Enum(indirect_branch) String(thunk-inline) Value(indirect_branch_thunk_inline)
921 1.7 mrg
922 1.7 mrg EnumValue
923 1.7 mrg Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern)
924 1.7 mrg
925 1.7 mrg mindirect-branch-register
926 1.7 mrg Target Report Var(ix86_indirect_branch_register) Init(0)
927 1.7 mrg Force indirect call and jump via register.
928