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