URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [sh/] [sh.opt] - Rev 709
Compare with Previous | Blame | View Log
; Options for the SH port of the compiler.; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011; 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/>.;; Used for various architecture options.Mask(SH_E);; Set if the default precision of th FPU is single.Mask(FPU_SINGLE);; Set if we should generate code using type 2A insns.Mask(HARD_SH2A);; Set if we should generate code using type 2A DF insns.Mask(HARD_SH2A_DOUBLE);; Set if compiling for SH4 hardware (to be used for insn costs etc.)Mask(HARD_SH4);; Set if we should generate code for a SH5 CPU (either ISA).Mask(SH5);; Set if we should save all target registers.Mask(SAVE_ALL_TARGET_REGS)m1Target RejectNegative Mask(SH1) Condition(SUPPORT_SH1)Generate SH1 codem2Target RejectNegative Mask(SH2) Condition(SUPPORT_SH2)Generate SH2 codem2aTarget RejectNegative Condition(SUPPORT_SH2A)Generate default double-precision SH2a-FPU codem2a-nofpuTarget RejectNegative Condition(SUPPORT_SH2A_NOFPU)Generate SH2a FPU-less codem2a-singleTarget RejectNegative Condition(SUPPORT_SH2A_SINGLE)Generate default single-precision SH2a-FPU codem2a-single-onlyTarget RejectNegative Condition(SUPPORT_SH2A_SINGLE_ONLY)Generate only single-precision SH2a-FPU codem2eTarget RejectNegative Condition(SUPPORT_SH2E)Generate SH2e codem3Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3)Generate SH3 codem3eTarget RejectNegative Condition(SUPPORT_SH3E)Generate SH3e codem4Target RejectNegative Mask(SH4) Condition(SUPPORT_SH4)Generate SH4 codem4-100Target RejectNegative Condition(SUPPORT_SH4)Generate SH4-100 codem4-200Target RejectNegative Condition(SUPPORT_SH4)Generate SH4-200 code;; TARGET_SH4_300 indicates if we have the ST40-300 instruction set and;; pipeline - irrespective of ABI.m4-300Target RejectNegative Condition(SUPPORT_SH4) Var(TARGET_SH4_300)Generate SH4-300 codem4-nofpuTarget RejectNegative Condition(SUPPORT_SH4_NOFPU)Generate SH4 FPU-less codem4-100-nofpuTarget RejectNegative Condition(SUPPORT_SH4_NOFPU)Generate SH4-100 FPU-less codem4-200-nofpuTarget RejectNegative Condition(SUPPORT_SH4_NOFPU)Generate SH4-200 FPU-less codem4-300-nofpuTarget RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300)Generate SH4-300 FPU-less codem4-340Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300)Generate code for SH4 340 series (MMU/FPU-less);; passes -isa=sh4-nommu-nofpu to the assembler.m4-400Target RejectNegative Condition(SUPPORT_SH4_NOFPU)Generate code for SH4 400 series (MMU/FPU-less);; passes -isa=sh4-nommu-nofpu to the assembler.m4-500Target RejectNegative Condition(SUPPORT_SH4_NOFPU)Generate code for SH4 500 series (FPU-less).;; passes -isa=sh4-nofpu to the assembler.m4-singleTarget RejectNegative Condition(SUPPORT_SH4_SINGLE)Generate default single-precision SH4 codem4-100-singleTarget RejectNegative Condition(SUPPORT_SH4_SINGLE)Generate default single-precision SH4-100 codem4-200-singleTarget RejectNegative Condition(SUPPORT_SH4_SINGLE)Generate default single-precision SH4-200 codem4-300-singleTarget RejectNegative Condition(SUPPORT_SH4_SINGLE) Var(TARGET_SH4_300)Generate default single-precision SH4-300 codem4-single-onlyTarget RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)Generate only single-precision SH4 codem4-100-single-onlyTarget RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)Generate only single-precision SH4-100 codem4-200-single-onlyTarget RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)Generate only single-precision SH4-200 codem4-300-single-onlyTarget RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY) Var(TARGET_SH4_300)Generate only single-precision SH4-300 codem4aTarget RejectNegative Mask(SH4A) Condition(SUPPORT_SH4A)Generate SH4a codem4a-nofpuTarget RejectNegative Condition(SUPPORT_SH4A_NOFPU)Generate SH4a FPU-less codem4a-singleTarget RejectNegative Condition(SUPPORT_SH4A_SINGLE)Generate default single-precision SH4a codem4a-single-onlyTarget RejectNegative Condition(SUPPORT_SH4A_SINGLE_ONLY)Generate only single-precision SH4a codem4alTarget RejectNegative Condition(SUPPORT_SH4AL)Generate SH4al-dsp codem5-32mediaTarget RejectNegative Condition(SUPPORT_SH5_32MEDIA)Generate 32-bit SHmedia codem5-32media-nofpuTarget RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)Generate 32-bit FPU-less SHmedia codem5-64mediaTarget RejectNegative Condition(SUPPORT_SH5_64MEDIA)Generate 64-bit SHmedia codem5-64media-nofpuTarget RejectNegative Condition(SUPPORT_SH5_64MEDIA_NOFPU)Generate 64-bit FPU-less SHmedia codem5-compactTarget RejectNegative Condition(SUPPORT_SH5_32MEDIA)Generate SHcompact codem5-compact-nofpuTarget RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)Generate FPU-less SHcompact codemaccumulate-outgoing-argsTarget Report Mask(ACCUMULATE_OUTGOING_ARGS)Reserve space for outgoing arguments in the function prologuemadjust-unrollTarget Report Mask(ADJUST_UNROLL) Condition(SUPPORT_ANY_SH5)Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs thismbTarget Report RejectNegative InverseMask(LITTLE_ENDIAN)Generate code in big endian modembigtableTarget Report RejectNegative Mask(BIGTABLE)Generate 32-bit offsets in switch tablesmbitopsTarget Report RejectNegative Mask(BITOPS)Generate bit instructionsmbranch-cost=Target RejectNegative Joined UInteger Var(sh_branch_cost) Init(-1)Cost to assume for a branch insnmcbranchdiTarget Var(TARGET_CBRANCHDI4)Enable cbranchdi4 patternmcmpeqdiTarget Var(TARGET_CMPEQDI_T)Emit cmpeqdi_t pattern even when -mcbranchdi is in effect.mcut2-workaroundTarget RejectNegative Var(TARGET_SH5_CUT2_WORKAROUND)Enable SH5 cut2 workaroundmdalignTarget Report RejectNegative Mask(ALIGN_DOUBLE)Align doubles at 64-bit boundariesmdiv=Target RejectNegative Joined Var(sh_div_str) Init("")Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-tablemdivsi3_libfunc=Target RejectNegative Joined Var(sh_divsi3_libfunc) Init("")Specify name for 32 bit signed division functionmfmovdTarget RejectNegative Mask(FMOVD)Enable the use of 64-bit floating point registers in fmov instructions. See -mdalign if 64-bit alignment is required.mfixed-range=Target RejectNegative Joined Var(sh_fixed_range_str)Specify range of registers to make fixedmfused-maddTarget Var(TARGET_FMAC)Enable the use of the fused floating point multiply-accumulate operationmgettrcost=Target RejectNegative Joined UInteger Var(sh_gettrcost) Init(-1)Cost to assume for gettr insnmhitachiTarget Report RejectNegative Mask(HITACHI)Follow Renesas (formerly Hitachi) / SuperH calling conventionsmieeeTarget Report Mask(IEEE)Increase the IEEE compliance for floating-point codemindexed-addressingTarget Report Mask(ALLOW_INDEXED_ADDRESS) Condition(SUPPORT_ANY_SH5_32MEDIA)Enable the use of the indexed addressing mode for SHmedia32/SHcompactminline-ic_invalidateTarget Report Var(TARGET_INLINE_IC_INVALIDATE)inline code to invalidate instruction cache entries after setting up nested function trampolinesminvalid-symbolsTarget Report Mask(INVALID_SYMBOLS) Condition(SUPPORT_ANY_SH5)Assume symbols might be invalidmisizeTarget Report RejectNegative Mask(DUMPISIZE)Annotate assembler instructions with estimated addressesmlTarget Report RejectNegative Mask(LITTLE_ENDIAN)Generate code in little endian modemnomacsaveTarget Report RejectNegative Mask(NOMACSAVE)Mark MAC register as call-clobbered;; ??? This option is not useful, but is retained in case there are people;; who are still relying on it. It may be deleted in the future.mpadstructTarget Report RejectNegative Mask(PADSTRUCT)Make structs a multiple of 4 bytes (warning: ABI altered)mprefergotTarget Report RejectNegative Mask(PREFERGOT)Emit function-calls using global offset table when generating PICmpt-fixedTarget Report Mask(PT_FIXED) Condition(SUPPORT_ANY_SH5)Assume pt* instructions won't trapmrelaxTarget Report RejectNegative Mask(RELAX)Shorten address references during linkingmrenesasTarget Mask(HITACHI) MaskExistsFollow Renesas (formerly Hitachi) / SuperH calling conventionsmsoft-atomicTarget Report Mask(SOFT_ATOMIC)Use software atomic sequences supported by kernelmspaceTarget RejectNegative Alias(Os)Deprecated. Use -Os insteadmultcost=Target RejectNegative Joined UInteger Var(sh_multcost) Init(-1)Cost to assume for a multiply insnmusermodeTarget Report RejectNegative Mask(USERMODE)Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode.;; We might want to enable this by default for TARGET_HARD_SH4, because;; zero-offset branches have zero latency. Needs some benchmarking.mpretend-cmoveTarget Var(TARGET_PRETEND_CMOVE)Pretend a branch-around-a-move is a conditional move.
