1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
|
; Options for the SH port of the compiler.
; Copyright (C) 2005, 2006 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 2, 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 COPYING. If not, write to the Free
; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
; 02110-1301, USA.
;; 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)
m1
Target RejectNegative Mask(SH1) Condition(SUPPORT_SH1)
Generate SH1 code
m2
Target RejectNegative Mask(SH2) Condition(SUPPORT_SH2)
Generate SH2 code
m2a
Target RejectNegative Condition(SUPPORT_SH2A)
Generate SH2a code
m2a-nofpu
Target RejectNegative Condition(SUPPORT_SH2A_NOFPU)
Generate SH2a FPU-less code
m2a-single
Target RejectNegative Condition (SUPPORT_SH2A_SINGLE)
Generate default single-precision SH2a code
m2a-single-only
Target RejectNegative Condition (SUPPORT_SH2A_SINGLE_ONLY)
Generate only single-precision SH2a code
m2e
Target RejectNegative Condition(SUPPORT_SH2E)
Generate SH2e code
m3
Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3)
Generate SH3 code
m3e
Target RejectNegative Condition(SUPPORT_SH3E)
Generate SH3e code
m4
Target RejectNegative Mask(SH4) Condition(SUPPORT_SH4)
Generate SH4 code
m4-100
Target RejectNegative Condition(SUPPORT_SH4)
Generate SH4-100 code
m4-200
Target RejectNegative Condition(SUPPORT_SH4)
Generate SH4-200 code
m4-nofpu
Target RejectNegative Condition(SUPPORT_SH4_NOFPU)
Generate SH4 FPU-less code
m4-400
Target RejectNegative Condition(SUPPORT_SH4_NOFPU)
Generate code for SH4 400 series (MMU/FPU-less)
;; passes -isa=sh4-nommu-nofpu to the assembler.
m4-500
Target RejectNegative Condition(SUPPORT_SH4_NOFPU)
Generate code for SH4 500 series (FPU-less).
;; passes -isa=sh4-nofpu to the assembler.
m4-single
Target RejectNegative Condition(SUPPORT_SH4_SINGLE)
Generate default single-precision SH4 code
m4-100-single
Target RejectNegative Condition(SUPPORT_SH4_SINGLE)
Generate default single-precision SH4-100 code
m4-200-single
Target RejectNegative Condition(SUPPORT_SH4_SINGLE)
Generate default single-precision SH4-200 code
m4-single-only
Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)
Generate only single-precision SH4 code
m4-100-single-only
Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)
Generate only single-precision SH4-100 code
m4-200-single-only
Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)
Generate only single-precision SH4-200 code
m4a
Target RejectNegative Mask(SH4A) Condition(SUPPORT_SH4A)
Generate SH4a code
m4a-nofpu
Target RejectNegative Condition(SUPPORT_SH4A_NOFPU)
Generate SH4a FPU-less code
m4a-single
Target RejectNegative Condition(SUPPORT_SH4A_SINGLE)
Generate default single-precision SH4a code
m4a-single-only
Target RejectNegative Condition(SUPPORT_SH4A_SINGLE_ONLY)
Generate only single-precision SH4a code
m4al
Target RejectNegative Condition(SUPPORT_SH4AL)
Generate SH4al-dsp code
m5-32media
Target RejectNegative Condition(SUPPORT_SH5_32MEDIA)
Generate 32-bit SHmedia code
m5-32media-nofpu
Target RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)
Generate 32-bit FPU-less SHmedia code
m5-64media
Target RejectNegative Condition(SUPPORT_SH5_64MEDIA)
Generate 64-bit SHmedia code
m5-64media-nofpu
Target RejectNegative Condition(SUPPORT_SH5_64MEDIA_NOFPU)
Generate 64-bit FPU-less SHmedia code
m5-compact
Target RejectNegative Condition(SUPPORT_SH5_32MEDIA)
Generate SHcompact code
m5-compact-nofpu
Target RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)
Generate FPU-less SHcompact code
madjust-unroll
Target Report Mask(ADJUST_UNROLL) Condition(SUPPORT_ANY_SH5)
Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this
mb
Target Report RejectNegative InverseMask(LITTLE_ENDIAN)
Generate code in big endian mode
mbigtable
Target Report RejectNegative Mask(BIGTABLE)
Generate 32-bit offsets in switch tables
mcut2-workaround
Target RejectNegative Var(TARGET_SH5_CUT2_WORKAROUND)
Enable SH5 cut2 workaround
mdalign
Target Report RejectNegative Mask(ALIGN_DOUBLE)
Align doubles at 64-bit boundaries
mdiv=
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-table
mdivsi3_libfunc=
Target RejectNegative Joined Var(sh_divsi3_libfunc) Init("")
Specify name for 32 bit signed division function
mfmovd
Target RejectNegative Mask(FMOVD) Undocumented
mgettrcost=
Target RejectNegative Joined UInteger Var(sh_gettrcost) Init(-1)
Cost to assume for gettr insn
mhitachi
Target Report RejectNegative Mask(HITACHI)
Follow Renesas (formerly Hitachi) / SuperH calling conventions
mieee
Target Report Mask(IEEE)
Increase the IEEE compliance for floating-point code
mindexed-addressing
Target Report Mask(ALLOW_INDEXED_ADDRESS) Condition(SUPPORT_ANY_SH5_32MEDIA)
Enable the use of the indexed addressing mode for SHmedia32/SHcompact
minvalid-symbols
Target Report Mask(INVALID_SYMBOLS) Condition(SUPPORT_ANY_SH5)
Assume symbols might be invalid
misize
Target Report RejectNegative Mask(DUMPISIZE)
Annotate assembler instructions with estimated addresses
ml
Target Report RejectNegative Mask(LITTLE_ENDIAN)
Generate code in little endian mode
mnomacsave
Target 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.
mpadstruct
Target Report RejectNegative Mask(PADSTRUCT)
Make structs a multiple of 4 bytes (warning: ABI altered)
mprefergot
Target Report RejectNegative Mask(PREFERGOT)
Emit function-calls using global offset table when generating PIC
mpt-fixed
Target Report Mask(PT_FIXED) Condition(SUPPORT_ANY_SH5)
Assume pt* instructions won't trap
mrelax
Target Report RejectNegative Mask(RELAX)
Shorten address references during linking
mrenesas
Target Mask(HITACHI) MaskExists
Follow Renesas (formerly Hitachi) / SuperH calling conventions
mspace
Target Report RejectNegative Mask(SMALLCODE)
Deprecated. Use -Os instead
multcost=
Target RejectNegative Joined UInteger Var(sh_multcost) Init(-1)
Cost to assume for a multiply insn
musermode
Target Report RejectNegative Mask(USERMODE)
Generate library function call to invalidate instruction cache entries after fixing trampoline
;; We might want to enable this by default for TARGET_HARD_SH4, because
;; zero-offset branches have zero latency. Needs some benchmarking.
mpretend-cmove
Target Var(TARGET_PRETEND_CMOVE)
Pretend a branch-around-a-move is a conditional move.
|