1169689Skan; Options for the IA-32 and AMD64 ports of the compiler. 2169689Skan 3251212Spfg; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. 4169689Skan; 5169689Skan; This file is part of GCC. 6169689Skan; 7169689Skan; GCC is free software; you can redistribute it and/or modify it under 8169689Skan; the terms of the GNU General Public License as published by the Free 9169689Skan; Software Foundation; either version 2, or (at your option) any later 10169689Skan; version. 11169689Skan; 12169689Skan; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13169689Skan; WARRANTY; without even the implied warranty of MERCHANTABILITY or 14169689Skan; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15169689Skan; for more details. 16169689Skan; 17169689Skan; You should have received a copy of the GNU General Public License 18169689Skan; along with GCC; see the file COPYING. If not, write to the Free 19169689Skan; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20169689Skan; 02110-1301, USA. 21169689Skan 22169689Skanm128bit-long-double 23169689SkanTarget RejectNegative Report Mask(128BIT_LONG_DOUBLE) 24169689Skansizeof(long double) is 16 25169689Skan 26169689Skanm32 27169689SkanTarget RejectNegative Negative(m64) Report InverseMask(64BIT) 28169689SkanGenerate 32bit i386 code 29169689Skan 30169689Skanm386 31169689SkanTarget RejectNegative Undocumented 32169689Skan;; Deprecated 33169689Skan 34169689Skanm3dnow 35169689SkanTarget Report Mask(3DNOW) 36169689SkanSupport 3DNow! built-in functions 37169689Skan 38169689Skanm486 39169689SkanTarget RejectNegative Undocumented 40169689Skan;; Deprecated 41169689Skan 42169689Skanm64 43169689SkanTarget RejectNegative Negative(m32) Report Mask(64BIT) 44169689SkanGenerate 64bit x86-64 code 45169689Skan 46169689Skanm80387 47169689SkanTarget Report Mask(80387) 48169689SkanUse hardware fp 49169689Skan 50169689Skanm96bit-long-double 51169689SkanTarget RejectNegative Report InverseMask(128BIT_LONG_DOUBLE) 52169689Skansizeof(long double) is 12 53169689Skan 54169689Skanmaccumulate-outgoing-args 55169689SkanTarget Report Mask(ACCUMULATE_OUTGOING_ARGS) 56169689SkanReserve space for outgoing arguments in the function prologue 57169689Skan 58169689Skanmalign-double 59169689SkanTarget Report Mask(ALIGN_DOUBLE) 60169689SkanAlign some doubles on dword boundary 61169689Skan 62169689Skanmalign-functions= 63169689SkanTarget RejectNegative Joined Var(ix86_align_funcs_string) 64169689SkanFunction starts are aligned to this power of 2 65169689Skan 66169689Skanmalign-jumps= 67169689SkanTarget RejectNegative Joined Var(ix86_align_jumps_string) 68169689SkanJump targets are aligned to this power of 2 69169689Skan 70169689Skanmalign-loops= 71169689SkanTarget RejectNegative Joined Var(ix86_align_loops_string) 72169689SkanLoop code aligned to this power of 2 73169689Skan 74169689Skanmalign-stringops 75169689SkanTarget RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS) 76169689SkanAlign destination of the string operations 77169689Skan 78169689Skanmarch= 79169689SkanTarget RejectNegative Joined Var(ix86_arch_string) 80169689SkanGenerate code for given CPU 81169689Skan 82169689Skanmasm= 83169689SkanTarget RejectNegative Joined Var(ix86_asm_string) 84169689SkanUse given assembler dialect 85169689Skan 86169689Skanmbranch-cost= 87169689SkanTarget RejectNegative Joined Var(ix86_branch_cost_string) 88169689SkanBranches are this expensive (1-5, arbitrary units) 89169689Skan 90169689Skanmlarge-data-threshold= 91169689SkanTarget RejectNegative Joined Var(ix86_section_threshold_string) 92169689SkanData greater than given threshold will go into .ldata section in x86-64 medium model 93169689Skan 94169689Skanmcmodel= 95169689SkanTarget RejectNegative Joined Var(ix86_cmodel_string) 96169689SkanUse given x86-64 code model 97169689Skan 98169689Skanmdebug-addr 99169689SkanTarget RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented 100169689Skan 101169689Skanmdebug-arg 102169689SkanTarget RejectNegative Var(TARGET_DEBUG_ARG) Undocumented 103169689Skan 104169689Skanmfancy-math-387 105169689SkanTarget RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387) 106169689SkanGenerate sin, cos, sqrt for FPU 107169689Skan 108169689Skanmfp-ret-in-387 109169689SkanTarget Report Mask(FLOAT_RETURNS) 110169689SkanReturn values of functions in FPU registers 111169689Skan 112169689Skanmfpmath= 113169689SkanTarget RejectNegative Joined Var(ix86_fpmath_string) 114169689SkanGenerate floating point mathematics using given instruction set 115169689Skan 116169689Skanmhard-float 117169689SkanTarget RejectNegative Mask(80387) MaskExists 118169689SkanUse hardware fp 119169689Skan 120169689Skanmieee-fp 121169689SkanTarget Report Mask(IEEE_FP) 122169689SkanUse IEEE math for fp comparisons 123169689Skan 124169689Skanminline-all-stringops 125169689SkanTarget Report Mask(INLINE_ALL_STRINGOPS) 126169689SkanInline all known string operations 127169689Skan 128169689Skanmintel-syntax 129169689SkanTarget Undocumented 130169689Skan;; Deprecated 131169689Skan 132169689Skanmmmx 133169689SkanTarget Report Mask(MMX) 134169689SkanSupport MMX built-in functions 135169689Skan 136169689Skanmms-bitfields 137169689SkanTarget Report Mask(MS_BITFIELD_LAYOUT) 138169689SkanUse native (MS) bitfield layout 139169689Skan 140169689Skanmno-align-stringops 141169689SkanTarget RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented 142169689Skan 143169689Skanmno-fancy-math-387 144169689SkanTarget RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented 145169689Skan 146169689Skanmno-push-args 147169689SkanTarget RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented 148169689Skan 149169689Skanmno-red-zone 150169689SkanTarget RejectNegative Report Mask(NO_RED_ZONE) Undocumented 151169689Skan 152169689Skanmomit-leaf-frame-pointer 153169689SkanTarget Report Mask(OMIT_LEAF_FRAME_POINTER) 154169689SkanOmit the frame pointer in leaf functions 155169689Skan 156169689Skanmpentium 157169689SkanTarget RejectNegative Undocumented 158169689Skan;; Deprecated 159169689Skan 160169689Skanmpentiumpro 161169689SkanTarget RejectNegative Undocumented 162169689Skan;; Deprecated 163169689Skan 164169689Skanmpreferred-stack-boundary= 165169689SkanTarget RejectNegative Joined Var(ix86_preferred_stack_boundary_string) 166169689SkanAttempt to keep stack aligned to this power of 2 167169689Skan 168169689Skanmpush-args 169169689SkanTarget Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS) 170169689SkanUse push instructions to save outgoing arguments 171169689Skan 172169689Skanmred-zone 173169689SkanTarget RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE) 174169689SkanUse red-zone in the x86-64 code 175169689Skan 176169689Skanmregparm= 177169689SkanTarget RejectNegative Joined Var(ix86_regparm_string) 178169689SkanNumber of registers used to pass integer arguments 179169689Skan 180169689Skanmrtd 181169689SkanTarget Report Mask(RTD) 182169689SkanAlternate calling convention 183169689Skan 184169689Skanmsoft-float 185169689SkanTarget InverseMask(80387) 186169689SkanDo not use hardware fp 187169689Skan 188169689Skanmsse 189169689SkanTarget Report Mask(SSE) 190169689SkanSupport MMX and SSE built-in functions and code generation 191169689Skan 192169689Skanmsse2 193169689SkanTarget Report Mask(SSE2) 194169689SkanSupport MMX, SSE and SSE2 built-in functions and code generation 195169689Skan 196169689Skanmsse3 197169689SkanTarget Report Mask(SSE3) 198169689SkanSupport MMX, SSE, SSE2 and SSE3 built-in functions and code generation 199169689Skan 200219639Smmmssse3 201219639SmmTarget Report Mask(SSSE3) 202219639SmmSupport MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation 203219639Smm 204251212Spfgmsse4a 205251212SpfgTarget Report Mask(SSE4A) 206251212SpfgSupport MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation 207251212Spfg 208255185Sjmgmaes 209255185SjmgTarget Report Mask(AES) 210255185SjmgSupport AES built-in functions and code generation. 211255185Sjmg 212251212Spfgmpopcnt 213251212SpfgTarget Report Mask(POPCNT) 214251212SpfgSupport code generation of popcount instruction for popcount built-ins 215251212Spfgnamely __builtin_popcount, __builtin_popcountl and __builtin_popcountll 216251212Spfg 217251212Spfgmabm 218251212SpfgTarget Report Mask(ABM) 219251212SpfgSupport code generation of Advanced Bit Manipulation (ABM) instructions, 220251212Spfgwhich include popcnt and lzcnt instructions, for popcount and clz built-ins 221251212Spfgnamely __builtin_popcount, __builtin_popcountl, __builtin_popcountll and 222251212Spfg__builtin_clz, __builtin_clzl, __builtin_clzll 223251212Spfg 224169689Skanmsseregparm 225169689SkanTarget RejectNegative Mask(SSEREGPARM) 226169689SkanUse SSE register passing conventions for SF and DF mode 227169689Skan 228169689Skanmstackrealign 229169689SkanTarget Report Var(ix86_force_align_arg_pointer) 230169689SkanRealign stack in prologue 231169689Skan 232169689Skanmsvr3-shlib 233169689SkanTarget Report Mask(SVR3_SHLIB) 234169689SkanUninitialized locals in .bss 235169689Skan 236169689Skanmstack-arg-probe 237169689SkanTarget Report Mask(STACK_PROBE) 238169689SkanEnable stack probing 239169689Skan 240169689Skanmtls-dialect= 241169689SkanTarget RejectNegative Joined Var(ix86_tls_dialect_string) 242169689SkanUse given thread-local storage dialect 243169689Skan 244169689Skanmtls-direct-seg-refs 245169689SkanTarget Report Mask(TLS_DIRECT_SEG_REFS) 246169689SkanUse direct references against %gs when accessing tls data 247169689Skan 248169689Skanmtune= 249169689SkanTarget RejectNegative Joined Var(ix86_tune_string) 250169689SkanSchedule code for given CPU 251169689Skan 252169689Skan;; Support Athlon 3Dnow builtins 253169689SkanMask(3DNOW_A) 254