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