Home | History | Annotate | Line # | Download | only in i386
i386.opt revision 1.3
      1  1.1  mrg ; Options for the IA-32 and AMD64 ports of the compiler.
      2  1.1  mrg 
      3  1.3  mrg ; Copyright (C) 2005-2013 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.1  mrg ;; CPU schedule model
     52  1.1  mrg TargetSave
     53  1.1  mrg unsigned char schedule
     54  1.1  mrg 
     55  1.1  mrg ;; branch cost
     56  1.1  mrg TargetSave
     57  1.1  mrg unsigned char branch_cost
     58  1.1  mrg 
     59  1.1  mrg ;; which flags were passed by the user
     60  1.1  mrg TargetSave
     61  1.3  mrg HOST_WIDE_INT x_ix86_isa_flags_explicit
     62  1.1  mrg 
     63  1.1  mrg ;; which flags were passed by the user
     64  1.1  mrg TargetSave
     65  1.3  mrg int ix86_target_flags_explicit
     66  1.1  mrg 
     67  1.1  mrg ;; whether -mtune was not specified
     68  1.1  mrg TargetSave
     69  1.1  mrg unsigned char tune_defaulted
     70  1.1  mrg 
     71  1.1  mrg ;; whether -march was specified
     72  1.1  mrg TargetSave
     73  1.1  mrg unsigned char arch_specified
     74  1.1  mrg 
     75  1.1  mrg ;; x86 options
     76  1.1  mrg m128bit-long-double
     77  1.1  mrg Target RejectNegative Report Mask(128BIT_LONG_DOUBLE) Save
     78  1.1  mrg sizeof(long double) is 16
     79  1.1  mrg 
     80  1.1  mrg m80387
     81  1.1  mrg Target Report Mask(80387) Save
     82  1.1  mrg Use hardware fp
     83  1.1  mrg 
     84  1.1  mrg m96bit-long-double
     85  1.1  mrg Target RejectNegative Report InverseMask(128BIT_LONG_DOUBLE) Save
     86  1.1  mrg sizeof(long double) is 12
     87  1.1  mrg 
     88  1.3  mrg mlong-double-80
     89  1.3  mrg Target Report RejectNegative InverseMask(LONG_DOUBLE_64) Save
     90  1.3  mrg Use 80-bit long double
     91  1.3  mrg 
     92  1.3  mrg mlong-double-64
     93  1.3  mrg Target Report RejectNegative Mask(LONG_DOUBLE_64) Save
     94  1.3  mrg Use 64-bit long double
     95  1.3  mrg 
     96  1.1  mrg maccumulate-outgoing-args
     97  1.1  mrg Target Report Mask(ACCUMULATE_OUTGOING_ARGS) Save
     98  1.1  mrg Reserve space for outgoing arguments in the function prologue
     99  1.1  mrg 
    100  1.1  mrg malign-double
    101  1.1  mrg Target Report Mask(ALIGN_DOUBLE) Save
    102  1.1  mrg Align some doubles on dword boundary
    103  1.1  mrg 
    104  1.1  mrg malign-functions=
    105  1.3  mrg Target RejectNegative Joined UInteger
    106  1.1  mrg Function starts are aligned to this power of 2
    107  1.1  mrg 
    108  1.1  mrg malign-jumps=
    109  1.3  mrg Target RejectNegative Joined UInteger
    110  1.1  mrg Jump targets are aligned to this power of 2
    111  1.1  mrg 
    112  1.1  mrg malign-loops=
    113  1.3  mrg Target RejectNegative Joined UInteger
    114  1.1  mrg Loop code aligned to this power of 2
    115  1.1  mrg 
    116  1.1  mrg malign-stringops
    117  1.1  mrg Target RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS) Save
    118  1.1  mrg Align destination of the string operations
    119  1.1  mrg 
    120  1.1  mrg march=
    121  1.1  mrg Target RejectNegative Joined Var(ix86_arch_string)
    122  1.1  mrg Generate code for given CPU
    123  1.1  mrg 
    124  1.1  mrg masm=
    125  1.3  mrg Target RejectNegative Joined Enum(asm_dialect) Var(ix86_asm_dialect) Init(ASM_ATT)
    126  1.1  mrg Use given assembler dialect
    127  1.1  mrg 
    128  1.3  mrg Enum
    129  1.3  mrg Name(asm_dialect) Type(enum asm_dialect)
    130  1.3  mrg Known assembler dialects (for use with the -masm-dialect= option):
    131  1.3  mrg 
    132  1.3  mrg EnumValue
    133  1.3  mrg Enum(asm_dialect) String(intel) Value(ASM_INTEL)
    134  1.3  mrg 
    135  1.3  mrg EnumValue
    136  1.3  mrg Enum(asm_dialect) String(att) Value(ASM_ATT)
    137  1.3  mrg 
    138  1.1  mrg mbranch-cost=
    139  1.3  mrg Target RejectNegative Joined UInteger Var(ix86_branch_cost)
    140  1.1  mrg Branches are this expensive (1-5, arbitrary units)
    141  1.1  mrg 
    142  1.1  mrg mlarge-data-threshold=
    143  1.3  mrg Target RejectNegative Joined UInteger Var(ix86_section_threshold) Init(DEFAULT_LARGE_SECTION_THRESHOLD)
    144  1.1  mrg Data greater than given threshold will go into .ldata section in x86-64 medium model
    145  1.1  mrg 
    146  1.1  mrg mcmodel=
    147  1.3  mrg Target RejectNegative Joined Enum(cmodel) Var(ix86_cmodel) Init(CM_32)
    148  1.1  mrg Use given x86-64 code model
    149  1.1  mrg 
    150  1.3  mrg Enum
    151  1.3  mrg Name(cmodel) Type(enum cmodel)
    152  1.3  mrg Known code models (for use with the -mcmodel= option):
    153  1.3  mrg 
    154  1.3  mrg EnumValue
    155  1.3  mrg Enum(cmodel) String(small) Value(CM_SMALL)
    156  1.3  mrg 
    157  1.3  mrg EnumValue
    158  1.3  mrg Enum(cmodel) String(medium) Value(CM_MEDIUM)
    159  1.3  mrg 
    160  1.3  mrg EnumValue
    161  1.3  mrg Enum(cmodel) String(large) Value(CM_LARGE)
    162  1.3  mrg 
    163  1.3  mrg EnumValue
    164  1.3  mrg Enum(cmodel) String(32) Value(CM_32)
    165  1.3  mrg 
    166  1.3  mrg EnumValue
    167  1.3  mrg Enum(cmodel) String(kernel) Value(CM_KERNEL)
    168  1.3  mrg 
    169  1.3  mrg maddress-mode=
    170  1.3  mrg Target RejectNegative Joined Enum(pmode) Var(ix86_pmode) Init(PMODE_SI)
    171  1.3  mrg Use given address mode
    172  1.3  mrg 
    173  1.3  mrg Enum
    174  1.3  mrg Name(pmode) Type(enum pmode)
    175  1.3  mrg Known address mode (for use with the -maddress-mode= option):
    176  1.3  mrg 
    177  1.3  mrg EnumValue
    178  1.3  mrg Enum(pmode) String(short) Value(PMODE_SI)
    179  1.3  mrg 
    180  1.3  mrg EnumValue
    181  1.3  mrg Enum(pmode) String(long) Value(PMODE_DI)
    182  1.3  mrg 
    183  1.3  mrg mcpu=
    184  1.3  mrg Target RejectNegative Joined Undocumented Alias(mtune=) Warn(%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead)
    185  1.3  mrg 
    186  1.1  mrg mfancy-math-387
    187  1.1  mrg Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387) Save
    188  1.1  mrg Generate sin, cos, sqrt for FPU
    189  1.1  mrg 
    190  1.1  mrg mforce-drap
    191  1.1  mrg Target Report Var(ix86_force_drap)
    192  1.1  mrg Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack
    193  1.1  mrg 
    194  1.1  mrg mfp-ret-in-387
    195  1.1  mrg Target Report Mask(FLOAT_RETURNS) Save
    196  1.1  mrg Return values of functions in FPU registers
    197  1.1  mrg 
    198  1.1  mrg mfpmath=
    199  1.3  mrg Target RejectNegative Joined Var(ix86_fpmath) Enum(fpmath_unit) Init(FPMATH_387) Save
    200  1.1  mrg Generate floating point mathematics using given instruction set
    201  1.1  mrg 
    202  1.3  mrg Enum
    203  1.3  mrg Name(fpmath_unit) Type(enum fpmath_unit)
    204  1.3  mrg Valid arguments to -mfpmath=:
    205  1.3  mrg 
    206  1.3  mrg EnumValue
    207  1.3  mrg Enum(fpmath_unit) String(387) Value(FPMATH_387)
    208  1.3  mrg 
    209  1.3  mrg EnumValue
    210  1.3  mrg Enum(fpmath_unit) String(sse) Value(FPMATH_SSE)
    211  1.3  mrg 
    212  1.3  mrg EnumValue
    213  1.3  mrg Enum(fpmath_unit) String(387,sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
    214  1.3  mrg 
    215  1.3  mrg EnumValue
    216  1.3  mrg Enum(fpmath_unit) String(387+sse) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
    217  1.3  mrg 
    218  1.3  mrg EnumValue
    219  1.3  mrg Enum(fpmath_unit) String(sse,387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
    220  1.3  mrg 
    221  1.3  mrg EnumValue
    222  1.3  mrg Enum(fpmath_unit) String(sse+387) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
    223  1.3  mrg 
    224  1.3  mrg EnumValue
    225  1.3  mrg Enum(fpmath_unit) String(both) Value({(enum fpmath_unit) (FPMATH_SSE | FPMATH_387)})
    226  1.3  mrg 
    227  1.1  mrg mhard-float
    228  1.3  mrg Target RejectNegative Mask(80387) Save
    229  1.1  mrg Use hardware fp
    230  1.1  mrg 
    231  1.1  mrg mieee-fp
    232  1.1  mrg Target Report Mask(IEEE_FP) Save
    233  1.1  mrg Use IEEE math for fp comparisons
    234  1.1  mrg 
    235  1.1  mrg minline-all-stringops
    236  1.1  mrg Target Report Mask(INLINE_ALL_STRINGOPS) Save
    237  1.1  mrg Inline all known string operations
    238  1.1  mrg 
    239  1.1  mrg minline-stringops-dynamically
    240  1.1  mrg Target Report Mask(INLINE_STRINGOPS_DYNAMICALLY) Save
    241  1.1  mrg Inline memset/memcpy string operations, but perform inline version only for small blocks
    242  1.1  mrg 
    243  1.1  mrg mintel-syntax
    244  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)
    245  1.1  mrg ;; Deprecated
    246  1.1  mrg 
    247  1.1  mrg mms-bitfields
    248  1.1  mrg Target Report Mask(MS_BITFIELD_LAYOUT) Save
    249  1.1  mrg Use native (MS) bitfield layout
    250  1.1  mrg 
    251  1.1  mrg mno-align-stringops
    252  1.1  mrg Target RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented Save
    253  1.1  mrg 
    254  1.1  mrg mno-fancy-math-387
    255  1.1  mrg Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented Save
    256  1.1  mrg 
    257  1.1  mrg mno-push-args
    258  1.1  mrg Target RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented Save
    259  1.1  mrg 
    260  1.1  mrg mno-red-zone
    261  1.1  mrg Target RejectNegative Report Mask(NO_RED_ZONE) Undocumented Save
    262  1.1  mrg 
    263  1.1  mrg momit-leaf-frame-pointer
    264  1.1  mrg Target Report Mask(OMIT_LEAF_FRAME_POINTER) Save
    265  1.1  mrg Omit the frame pointer in leaf functions
    266  1.1  mrg 
    267  1.3  mrg mpc32
    268  1.3  mrg Target RejectNegative Report
    269  1.3  mrg Set 80387 floating-point precision to 32-bit
    270  1.3  mrg 
    271  1.3  mrg mpc64
    272  1.3  mrg Target RejectNegative Report
    273  1.3  mrg Set 80387 floating-point precision to 64-bit
    274  1.3  mrg 
    275  1.3  mrg mpc80
    276  1.3  mrg Target RejectNegative Report
    277  1.3  mrg Set 80387 floating-point precision to 80-bit
    278  1.1  mrg 
    279  1.1  mrg mpreferred-stack-boundary=
    280  1.3  mrg Target RejectNegative Joined UInteger Var(ix86_preferred_stack_boundary_arg)
    281  1.1  mrg Attempt to keep stack aligned to this power of 2
    282  1.1  mrg 
    283  1.1  mrg mincoming-stack-boundary=
    284  1.3  mrg Target RejectNegative Joined UInteger Var(ix86_incoming_stack_boundary_arg)
    285  1.1  mrg Assume incoming stack aligned to this power of 2
    286  1.1  mrg 
    287  1.1  mrg mpush-args
    288  1.1  mrg Target Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS) Save
    289  1.1  mrg Use push instructions to save outgoing arguments
    290  1.1  mrg 
    291  1.1  mrg mred-zone
    292  1.1  mrg Target RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE) Save
    293  1.1  mrg Use red-zone in the x86-64 code
    294  1.1  mrg 
    295  1.1  mrg mregparm=
    296  1.3  mrg Target RejectNegative Joined UInteger Var(ix86_regparm)
    297  1.1  mrg Number of registers used to pass integer arguments
    298  1.1  mrg 
    299  1.1  mrg mrtd
    300  1.1  mrg Target Report Mask(RTD) Save
    301  1.1  mrg Alternate calling convention
    302  1.1  mrg 
    303  1.1  mrg msoft-float
    304  1.1  mrg Target InverseMask(80387) Save
    305  1.1  mrg Do not use hardware fp
    306  1.1  mrg 
    307  1.1  mrg msseregparm
    308  1.1  mrg Target RejectNegative Mask(SSEREGPARM) Save
    309  1.1  mrg Use SSE register passing conventions for SF and DF mode
    310  1.1  mrg 
    311  1.1  mrg mstackrealign
    312  1.1  mrg Target Report Var(ix86_force_align_arg_pointer) Init(-1)
    313  1.1  mrg Realign stack in prologue
    314  1.1  mrg 
    315  1.1  mrg mstack-arg-probe
    316  1.1  mrg Target Report Mask(STACK_PROBE) Save
    317  1.1  mrg Enable stack probing
    318  1.1  mrg 
    319  1.1  mrg mstringop-strategy=
    320  1.3  mrg Target RejectNegative Joined Enum(stringop_alg) Var(ix86_stringop_alg) Init(no_stringop)
    321  1.1  mrg Chose strategy to generate stringop using
    322  1.1  mrg 
    323  1.3  mrg Enum
    324  1.3  mrg Name(stringop_alg) Type(enum stringop_alg)
    325  1.3  mrg Valid arguments to -mstringop-strategy=:
    326  1.3  mrg 
    327  1.3  mrg EnumValue
    328  1.3  mrg Enum(stringop_alg) String(rep_byte) Value(rep_prefix_1_byte)
    329  1.3  mrg 
    330  1.3  mrg EnumValue
    331  1.3  mrg Enum(stringop_alg) String(libcall) Value(libcall)
    332  1.3  mrg 
    333  1.3  mrg EnumValue
    334  1.3  mrg Enum(stringop_alg) String(rep_4byte) Value(rep_prefix_4_byte)
    335  1.3  mrg 
    336  1.3  mrg EnumValue
    337  1.3  mrg Enum(stringop_alg) String(rep_8byte) Value(rep_prefix_8_byte)
    338  1.3  mrg 
    339  1.3  mrg EnumValue
    340  1.3  mrg Enum(stringop_alg) String(byte_loop) Value(loop_1_byte)
    341  1.3  mrg 
    342  1.3  mrg EnumValue
    343  1.3  mrg Enum(stringop_alg) String(loop) Value(loop)
    344  1.3  mrg 
    345  1.3  mrg EnumValue
    346  1.3  mrg Enum(stringop_alg) String(unrolled_loop) Value(unrolled_loop)
    347  1.3  mrg 
    348  1.1  mrg mtls-dialect=
    349  1.3  mrg Target RejectNegative Joined Var(ix86_tls_dialect) Enum(tls_dialect) Init(TLS_DIALECT_GNU)
    350  1.1  mrg Use given thread-local storage dialect
    351  1.1  mrg 
    352  1.3  mrg Enum
    353  1.3  mrg Name(tls_dialect) Type(enum tls_dialect)
    354  1.3  mrg Known TLS dialects (for use with the -mtls-dialect= option):
    355  1.3  mrg 
    356  1.3  mrg EnumValue
    357  1.3  mrg Enum(tls_dialect) String(gnu) Value(TLS_DIALECT_GNU)
    358  1.3  mrg 
    359  1.3  mrg EnumValue
    360  1.3  mrg Enum(tls_dialect) String(gnu2) Value(TLS_DIALECT_GNU2)
    361  1.3  mrg 
    362  1.1  mrg mtls-direct-seg-refs
    363  1.1  mrg Target Report Mask(TLS_DIRECT_SEG_REFS)
    364  1.1  mrg Use direct references against %gs when accessing tls data
    365  1.1  mrg 
    366  1.1  mrg mtune=
    367  1.1  mrg Target RejectNegative Joined Var(ix86_tune_string)
    368  1.1  mrg Schedule code for given CPU
    369  1.1  mrg 
    370  1.1  mrg mabi=
    371  1.3  mrg Target RejectNegative Joined Var(ix86_abi) Enum(calling_abi) Init(SYSV_ABI)
    372  1.1  mrg Generate code that conforms to the given ABI
    373  1.1  mrg 
    374  1.3  mrg Enum
    375  1.3  mrg Name(calling_abi) Type(enum calling_abi)
    376  1.3  mrg Known ABIs (for use with the -mabi= option):
    377  1.3  mrg 
    378  1.3  mrg EnumValue
    379  1.3  mrg Enum(calling_abi) String(sysv) Value(SYSV_ABI)
    380  1.3  mrg 
    381  1.3  mrg EnumValue
    382  1.3  mrg Enum(calling_abi) String(ms) Value(MS_ABI)
    383  1.3  mrg 
    384  1.1  mrg mveclibabi=
    385  1.3  mrg Target RejectNegative Joined Var(ix86_veclibabi_type) Enum(ix86_veclibabi) Init(ix86_veclibabi_type_none)
    386  1.1  mrg Vector library ABI to use
    387  1.1  mrg 
    388  1.3  mrg Enum
    389  1.3  mrg Name(ix86_veclibabi) Type(enum ix86_veclibabi)
    390  1.3  mrg Known vectorization library ABIs (for use with the -mveclibabi= option):
    391  1.3  mrg 
    392  1.3  mrg EnumValue
    393  1.3  mrg Enum(ix86_veclibabi) String(svml) Value(ix86_veclibabi_type_svml)
    394  1.3  mrg 
    395  1.3  mrg EnumValue
    396  1.3  mrg Enum(ix86_veclibabi) String(acml) Value(ix86_veclibabi_type_acml)
    397  1.3  mrg 
    398  1.3  mrg mvect8-ret-in-mem
    399  1.3  mrg Target Report Mask(VECT8_RETURNS) Save
    400  1.3  mrg Return 8-byte vectors in memory
    401  1.3  mrg 
    402  1.1  mrg mrecip
    403  1.1  mrg Target Report Mask(RECIP) Save
    404  1.1  mrg Generate reciprocals instead of divss and sqrtss.
    405  1.1  mrg 
    406  1.3  mrg mrecip=
    407  1.3  mrg Target Report RejectNegative Joined Var(ix86_recip_name)
    408  1.3  mrg Control generation of reciprocal estimates.
    409  1.3  mrg 
    410  1.1  mrg mcld
    411  1.1  mrg Target Report Mask(CLD) Save
    412  1.1  mrg Generate cld instruction in the function prologue.
    413  1.1  mrg 
    414  1.3  mrg mvzeroupper
    415  1.3  mrg Target Report Mask(VZEROUPPER) Save
    416  1.3  mrg Generate vzeroupper instruction before a transfer of control flow out of
    417  1.3  mrg the function.
    418  1.3  mrg 
    419  1.3  mrg mdispatch-scheduler
    420  1.3  mrg Target RejectNegative Var(flag_dispatch_scheduler)
    421  1.3  mrg Do dispatch scheduling if processor is bdver1 or bdver2 or bdver3 and Haifa scheduling
    422  1.3  mrg is selected.
    423  1.3  mrg 
    424  1.3  mrg mprefer-avx128
    425  1.3  mrg Target Report Mask(PREFER_AVX128) SAVE
    426  1.3  mrg Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer.
    427  1.1  mrg 
    428  1.1  mrg ;; ISA support
    429  1.1  mrg 
    430  1.1  mrg m32
    431  1.3  mrg Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save
    432  1.1  mrg Generate 32bit i386 code
    433  1.1  mrg 
    434  1.1  mrg m64
    435  1.3  mrg Target RejectNegative Negative(mx32) Report Mask(ABI_64) Var(ix86_isa_flags) Save
    436  1.1  mrg Generate 64bit x86-64 code
    437  1.1  mrg 
    438  1.3  mrg mx32
    439  1.3  mrg Target RejectNegative Negative(m32) Report Mask(ABI_X32) Var(ix86_isa_flags) Save
    440  1.3  mrg Generate 32bit x86-64 code
    441  1.3  mrg 
    442  1.1  mrg mmmx
    443  1.3  mrg Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save
    444  1.1  mrg Support MMX built-in functions
    445  1.1  mrg 
    446  1.1  mrg m3dnow
    447  1.3  mrg Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) Save
    448  1.1  mrg Support 3DNow! built-in functions
    449  1.1  mrg 
    450  1.1  mrg m3dnowa
    451  1.3  mrg Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) Save
    452  1.1  mrg Support Athlon 3Dnow! built-in functions
    453  1.1  mrg 
    454  1.1  mrg msse
    455  1.3  mrg Target Report Mask(ISA_SSE) Var(ix86_isa_flags) Save
    456  1.1  mrg Support MMX and SSE built-in functions and code generation
    457  1.1  mrg 
    458  1.1  mrg msse2
    459  1.3  mrg Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) Save
    460  1.1  mrg Support MMX, SSE and SSE2 built-in functions and code generation
    461  1.1  mrg 
    462  1.1  mrg msse3
    463  1.3  mrg Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) Save
    464  1.1  mrg Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
    465  1.1  mrg 
    466  1.1  mrg mssse3
    467  1.3  mrg Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) Save
    468  1.1  mrg Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation
    469  1.1  mrg 
    470  1.1  mrg msse4.1
    471  1.3  mrg Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) Save
    472  1.1  mrg Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation
    473  1.1  mrg 
    474  1.1  mrg msse4.2
    475  1.3  mrg Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
    476  1.1  mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation
    477  1.1  mrg 
    478  1.1  mrg msse4
    479  1.3  mrg Target RejectNegative Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save
    480  1.1  mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation
    481  1.1  mrg 
    482  1.1  mrg mno-sse4
    483  1.3  mrg Target RejectNegative Report InverseMask(ISA_SSE4_1) Var(ix86_isa_flags) Save
    484  1.1  mrg Do not support SSE4.1 and SSE4.2 built-in functions and code generation
    485  1.1  mrg 
    486  1.3  mrg msse5
    487  1.3  mrg Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed)
    488  1.3  mrg ;; Deprecated
    489  1.3  mrg 
    490  1.1  mrg mavx
    491  1.3  mrg Target Report Mask(ISA_AVX) Var(ix86_isa_flags) Save
    492  1.1  mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation
    493  1.1  mrg 
    494  1.3  mrg mavx2
    495  1.3  mrg Target Report Mask(ISA_AVX2) Var(ix86_isa_flags) Save
    496  1.3  mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation
    497  1.3  mrg 
    498  1.1  mrg mfma
    499  1.3  mrg Target Report Mask(ISA_FMA) Var(ix86_isa_flags) Save
    500  1.1  mrg Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation
    501  1.1  mrg 
    502  1.1  mrg msse4a
    503  1.3  mrg Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) Save
    504  1.1  mrg Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation
    505  1.1  mrg 
    506  1.1  mrg mfma4
    507  1.3  mrg Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save
    508  1.1  mrg Support FMA4 built-in functions and code generation 
    509  1.1  mrg 
    510  1.1  mrg mxop
    511  1.3  mrg Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save
    512  1.1  mrg Support XOP built-in functions and code generation 
    513  1.1  mrg 
    514  1.1  mrg mlwp
    515  1.3  mrg Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save
    516  1.1  mrg Support LWP built-in functions and code generation 
    517  1.1  mrg 
    518  1.1  mrg mabm
    519  1.3  mrg Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save
    520  1.1  mrg Support code generation of Advanced Bit Manipulation (ABM) instructions.
    521  1.1  mrg 
    522  1.1  mrg mpopcnt
    523  1.3  mrg Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) Save
    524  1.1  mrg Support code generation of popcnt instruction.
    525  1.1  mrg 
    526  1.3  mrg mbmi
    527  1.3  mrg Target Report Mask(ISA_BMI) Var(ix86_isa_flags) Save
    528  1.3  mrg Support BMI built-in functions and code generation
    529  1.3  mrg 
    530  1.3  mrg mbmi2
    531  1.3  mrg Target Report Mask(ISA_BMI2) Var(ix86_isa_flags) Save
    532  1.3  mrg Support BMI2 built-in functions and code generation
    533  1.3  mrg 
    534  1.3  mrg mlzcnt
    535  1.3  mrg Target Report Mask(ISA_LZCNT) Var(ix86_isa_flags) Save
    536  1.3  mrg Support LZCNT built-in function and code generation
    537  1.3  mrg 
    538  1.3  mrg mhle
    539  1.3  mrg Target Report Mask(ISA_HLE) Var(ix86_isa_flags) Save
    540  1.3  mrg Support Hardware Lock Elision prefixes
    541  1.3  mrg 
    542  1.3  mrg mrdseed
    543  1.3  mrg Target Report Mask(ISA_RDSEED) Var(ix86_isa_flags) Save
    544  1.3  mrg Support RDSEED instruction
    545  1.3  mrg 
    546  1.3  mrg mprfchw
    547  1.3  mrg Target Report Mask(ISA_PRFCHW) Var(ix86_isa_flags) Save
    548  1.3  mrg Support PREFETCHW instruction
    549  1.3  mrg 
    550  1.3  mrg madx
    551  1.3  mrg Target Report Mask(ISA_ADX) Var(ix86_isa_flags) Save
    552  1.3  mrg Support flag-preserving add-carry instructions
    553  1.3  mrg 
    554  1.3  mrg mfxsr
    555  1.3  mrg Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
    556  1.3  mrg Support FXSAVE and FXRSTOR instructions
    557  1.3  mrg 
    558  1.3  mrg mxsave
    559  1.3  mrg Target Report Mask(ISA_XSAVE) Var(ix86_isa_flags) Save
    560  1.3  mrg Support XSAVE and XRSTOR instructions
    561  1.3  mrg 
    562  1.3  mrg mxsaveopt
    563  1.3  mrg Target Report Mask(ISA_XSAVEOPT) Var(ix86_isa_flags) Save
    564  1.3  mrg Support XSAVEOPT instruction
    565  1.3  mrg 
    566  1.3  mrg mtbm
    567  1.3  mrg Target Report Mask(ISA_TBM) Var(ix86_isa_flags) Save
    568  1.3  mrg Support TBM built-in functions and code generation
    569  1.3  mrg 
    570  1.1  mrg mcx16
    571  1.3  mrg Target Report Mask(ISA_CX16) Var(ix86_isa_flags) Save
    572  1.1  mrg Support code generation of cmpxchg16b instruction.
    573  1.1  mrg 
    574  1.1  mrg msahf
    575  1.3  mrg Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) Save
    576  1.1  mrg Support code generation of sahf instruction in 64bit x86-64 code.
    577  1.1  mrg 
    578  1.1  mrg mmovbe
    579  1.3  mrg Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) Save
    580  1.1  mrg Support code generation of movbe instruction.
    581  1.1  mrg 
    582  1.1  mrg mcrc32
    583  1.3  mrg Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) Save
    584  1.1  mrg Support code generation of crc32 instruction.
    585  1.1  mrg 
    586  1.1  mrg maes
    587  1.3  mrg Target Report Mask(ISA_AES) Var(ix86_isa_flags) Save
    588  1.1  mrg Support AES built-in functions and code generation
    589  1.1  mrg 
    590  1.1  mrg mpclmul
    591  1.3  mrg Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) Save
    592  1.1  mrg Support PCLMUL built-in functions and code generation
    593  1.1  mrg 
    594  1.1  mrg msse2avx
    595  1.1  mrg Target Report Var(ix86_sse2avx)
    596  1.1  mrg Encode SSE instructions with VEX prefix
    597  1.3  mrg 
    598  1.3  mrg mfsgsbase
    599  1.3  mrg Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save
    600  1.3  mrg Support FSGSBASE built-in functions and code generation
    601  1.3  mrg 
    602  1.3  mrg mrdrnd
    603  1.3  mrg Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) Save
    604  1.3  mrg Support RDRND built-in functions and code generation
    605  1.3  mrg 
    606  1.3  mrg mf16c
    607  1.3  mrg Target Report Mask(ISA_F16C) Var(ix86_isa_flags) Save
    608  1.3  mrg Support F16C built-in functions and code generation
    609  1.3  mrg 
    610  1.3  mrg mfentry
    611  1.3  mrg Target Report Var(flag_fentry) Init(-1)
    612  1.3  mrg Emit profiling counter call at function entry before prologue.
    613  1.3  mrg 
    614  1.3  mrg m8bit-idiv
    615  1.3  mrg Target Report Mask(USE_8BIT_IDIV) Save
    616  1.3  mrg Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check
    617  1.3  mrg 
    618  1.3  mrg mavx256-split-unaligned-load
    619  1.3  mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_LOAD) Save
    620  1.3  mrg Split 32-byte AVX unaligned load
    621  1.3  mrg 
    622  1.3  mrg mavx256-split-unaligned-store
    623  1.3  mrg Target Report Mask(AVX256_SPLIT_UNALIGNED_STORE) Save
    624  1.3  mrg Split 32-byte AVX unaligned store
    625  1.3  mrg 
    626  1.3  mrg mrtm
    627  1.3  mrg Target Report Mask(ISA_RTM) Var(ix86_isa_flags) Save
    628  1.3  mrg Support RTM built-in functions and code generation
    629