URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [config/] [i386/] [i386.opt] - Rev 282
Compare with Previous | Blame | View Log
; Options for the IA-32 and AMD64 ports of the compiler.; Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.;; This file is part of GCC.;; GCC is free software; you can redistribute it and/or modify it under; the terms of the GNU General Public License as published by the Free; Software Foundation; either version 3, or (at your option) any later; version.;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY; WARRANTY; without even the implied warranty of MERCHANTABILITY or; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License; for more details.;; You should have received a copy of the GNU General Public License; along with GCC; see the file COPYING3. If not see; <http://www.gnu.org/licenses/>.;; Definitions to add to the cl_target_option structure;; -march= processorTargetSaveunsigned char arch;; -mtune= processorTargetSaveunsigned char tune;; -mfpath=TargetSaveunsigned char fpmath;; CPU schedule modelTargetSaveunsigned char schedule;; branch costTargetSaveunsigned char branch_cost;; which flags were passed by the userTargetSaveint ix86_isa_flags_explicit;; which flags were passed by the userTargetSaveint target_flags_explicit;; whether -mtune was not specifiedTargetSaveunsigned char tune_defaulted;; whether -march was specifiedTargetSaveunsigned char arch_specified;; x86 optionsm128bit-long-doubleTarget RejectNegative Report Mask(128BIT_LONG_DOUBLE) Savesizeof(long double) is 16m80387Target Report Mask(80387) SaveUse hardware fpm96bit-long-doubleTarget RejectNegative Report InverseMask(128BIT_LONG_DOUBLE) Savesizeof(long double) is 12maccumulate-outgoing-argsTarget Report Mask(ACCUMULATE_OUTGOING_ARGS) SaveReserve space for outgoing arguments in the function prologuemalign-doubleTarget Report Mask(ALIGN_DOUBLE) SaveAlign some doubles on dword boundarymalign-functions=Target RejectNegative Joined Var(ix86_align_funcs_string)Function starts are aligned to this power of 2malign-jumps=Target RejectNegative Joined Var(ix86_align_jumps_string)Jump targets are aligned to this power of 2malign-loops=Target RejectNegative Joined Var(ix86_align_loops_string)Loop code aligned to this power of 2malign-stringopsTarget RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS) SaveAlign destination of the string operationsmarch=Target RejectNegative Joined Var(ix86_arch_string)Generate code for given CPUmasm=Target RejectNegative Joined Var(ix86_asm_string)Use given assembler dialectmbranch-cost=Target RejectNegative Joined Var(ix86_branch_cost_string)Branches are this expensive (1-5, arbitrary units)mlarge-data-threshold=Target RejectNegative Joined Var(ix86_section_threshold_string)Data greater than given threshold will go into .ldata section in x86-64 medium modelmcmodel=Target RejectNegative Joined Var(ix86_cmodel_string)Use given x86-64 code modelmfancy-math-387Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387) SaveGenerate sin, cos, sqrt for FPUmforce-drapTarget Report Var(ix86_force_drap)Always use Dynamic Realigned Argument Pointer (DRAP) to realign stackmfp-ret-in-387Target Report Mask(FLOAT_RETURNS) SaveReturn values of functions in FPU registersmfpmath=Target RejectNegative Joined Var(ix86_fpmath_string)Generate floating point mathematics using given instruction setmhard-floatTarget RejectNegative Mask(80387) MaskExists SaveUse hardware fpmieee-fpTarget Report Mask(IEEE_FP) SaveUse IEEE math for fp comparisonsminline-all-stringopsTarget Report Mask(INLINE_ALL_STRINGOPS) SaveInline all known string operationsminline-stringops-dynamicallyTarget Report Mask(INLINE_STRINGOPS_DYNAMICALLY) SaveInline memset/memcpy string operations, but perform inline version only for small blocksmintel-syntaxTarget Undocumented;; Deprecatedmms-bitfieldsTarget Report Mask(MS_BITFIELD_LAYOUT) SaveUse native (MS) bitfield layoutmno-align-stringopsTarget RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented Savemno-fancy-math-387Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented Savemno-push-argsTarget RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented Savemno-red-zoneTarget RejectNegative Report Mask(NO_RED_ZONE) Undocumented Savemomit-leaf-frame-pointerTarget Report Mask(OMIT_LEAF_FRAME_POINTER) SaveOmit the frame pointer in leaf functionsmpcTarget RejectNegative Report Joined Var(ix87_precision_string)Set 80387 floating-point precision (-mpc32, -mpc64, -mpc80)mpreferred-stack-boundary=Target RejectNegative Joined Var(ix86_preferred_stack_boundary_string)Attempt to keep stack aligned to this power of 2mincoming-stack-boundary=Target RejectNegative Joined Var(ix86_incoming_stack_boundary_string)Assume incoming stack aligned to this power of 2mpush-argsTarget Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS) SaveUse push instructions to save outgoing argumentsmred-zoneTarget RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE) SaveUse red-zone in the x86-64 codemregparm=Target RejectNegative Joined Var(ix86_regparm_string)Number of registers used to pass integer argumentsmrtdTarget Report Mask(RTD) SaveAlternate calling conventionmsoft-floatTarget InverseMask(80387) SaveDo not use hardware fpmsseregparmTarget RejectNegative Mask(SSEREGPARM) SaveUse SSE register passing conventions for SF and DF modemstackrealignTarget Report Var(ix86_force_align_arg_pointer) Init(-1)Realign stack in prologuemstack-arg-probeTarget Report Mask(STACK_PROBE) SaveEnable stack probingmstringop-strategy=Target RejectNegative Joined Var(ix86_stringop_string)Chose strategy to generate stringop usingmtls-dialect=Target RejectNegative Joined Var(ix86_tls_dialect_string)Use given thread-local storage dialectmtls-direct-seg-refsTarget Report Mask(TLS_DIRECT_SEG_REFS)Use direct references against %gs when accessing tls datamtune=Target RejectNegative Joined Var(ix86_tune_string)Schedule code for given CPUmabi=Target RejectNegative Joined Var(ix86_abi_string)Generate code that conforms to the given ABImveclibabi=Target RejectNegative Joined Var(ix86_veclibabi_string)Vector library ABI to usemrecipTarget Report Mask(RECIP) SaveGenerate reciprocals instead of divss and sqrtss.mcldTarget Report Mask(CLD) SaveGenerate cld instruction in the function prologue.mfused-maddTarget Report Mask(FUSED_MADD) SaveEnable automatic generation of fused floating point multiply-add instructionsif the ISA supports such instructions. The -mfused-madd option is on bydefault.;; ISA supportm32Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) VarExists SaveGenerate 32bit i386 codem64Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) VarExists SaveGenerate 64bit x86-64 codemmmxTarget Report Mask(ISA_MMX) Var(ix86_isa_flags) VarExists SaveSupport MMX built-in functionsm3dnowTarget Report Mask(ISA_3DNOW) Var(ix86_isa_flags) VarExists SaveSupport 3DNow! built-in functionsm3dnowaTarget Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) VarExists SaveSupport Athlon 3Dnow! built-in functionsmsseTarget Report Mask(ISA_SSE) Var(ix86_isa_flags) VarExists SaveSupport MMX and SSE built-in functions and code generationmsse2Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE and SSE2 built-in functions and code generationmsse3Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2 and SSE3 built-in functions and code generationmssse3Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generationmsse4.1Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generationmsse4.2Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generationmsse4Target RejectNegative Report Mask(ISA_SSE4_2) MaskExists Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generationmno-sse4Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) VarExists SaveDo not support SSE4.1 and SSE4.2 built-in functions and code generationmavxTarget Report Mask(ISA_AVX) Var(ix86_isa_flags) VarExistsSupport MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generationmfmaTarget Report Mask(ISA_FMA) Var(ix86_isa_flags) VarExistsSupport MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generationmsse4aTarget Report Mask(ISA_SSE4A) Var(ix86_isa_flags) VarExists SaveSupport MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generationmfma4Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) VarExists SaveSupport FMA4 built-in functions and code generationmxopTarget Report Mask(ISA_XOP) Var(ix86_isa_flags) VarExists SaveSupport XOP built-in functions and code generationmlwpTarget Report Mask(ISA_LWP) Var(ix86_isa_flags) VarExists SaveSupport LWP built-in functions and code generationmabmTarget Report Mask(ISA_ABM) Var(ix86_isa_flags) VarExists SaveSupport code generation of Advanced Bit Manipulation (ABM) instructions.mpopcntTarget Report Mask(ISA_POPCNT) Var(ix86_isa_flags) VarExists SaveSupport code generation of popcnt instruction.mcx16Target Report Mask(ISA_CX16) Var(ix86_isa_flags) VarExists SaveSupport code generation of cmpxchg16b instruction.msahfTarget Report Mask(ISA_SAHF) Var(ix86_isa_flags) VarExists SaveSupport code generation of sahf instruction in 64bit x86-64 code.mmovbeTarget Report Mask(ISA_MOVBE) Var(ix86_isa_flags) VarExists SaveSupport code generation of movbe instruction.mcrc32Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) VarExists SaveSupport code generation of crc32 instruction.maesTarget Report Mask(ISA_AES) Var(ix86_isa_flags) VarExists SaveSupport AES built-in functions and code generationmpclmulTarget Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) VarExists SaveSupport PCLMUL built-in functions and code generationmsse2avxTarget Report Var(ix86_sse2avx)Encode SSE instructions with VEX prefix
