Merge reload-branch up to revision 101000
[official-gcc.git] / gcc / config / sh / sh.opt
blob553a5576eb04bf6b3c617f27bc4054ec8159f860
1 ; Options for the SH port of the compiler.
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
5 ; This file is part of GCC.
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 2, or (at your option) any later
10 ; version.
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.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING.  If not, write to the Free
19 ; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 ; 02111-1307, USA.
22 ;; Used for various architecture options.
23 Mask(SH_E)
25 ;; Set if the default precision of th FPU is single.
26 Mask(FPU_SINGLE)
28 ;; Set if we should generate code using type 2A insns.
29 Mask(HARD_SH2A)
31 ;; Set if we should generate code using type 2A DF insns.
32 Mask(HARD_SH2A_DOUBLE)
34 ;; Set if compiling for SH4 hardware (to be used for insn costs etc.)
35 Mask(HARD_SH4)
37 ;; Set if we should generate code for a SH5 CPU (either ISA).
38 Mask(SH5)
40 ;; Set if we should save all target registers.
41 Mask(SAVE_ALL_TARGET_REGS)
44 Target RejectNegative Mask(SH1) Condition(SUPPORT_SH1)
45 Generate SH1 code
48 Target RejectNegative Mask(SH2) Condition(SUPPORT_SH2)
49 Generate SH2 code
51 m2a
52 Target RejectNegative Condition(SUPPORT_SH2A)
53 Generate SH2a code
55 m2a-nofpu
56 Target RejectNegative Condition(SUPPORT_SH2A_NOFPU)
57 Generate SH2a FPU-less code
59 m2a-single
60 Target RejectNegative Condition (SUPPORT_SH2A_SINGLE)
61 Generate default single-precision SH2a code
63 m2a-single-only
64 Target RejectNegative Condition (SUPPORT_SH2A_SINGLE_ONLY)
65 Generate only single-precision SH2a code
67 m2e
68 Target RejectNegative Condition(SUPPORT_SH2E)
69 Generate SH2e code
72 Target RejectNegative Mask(SH3) Condition(SUPPORT_SH3)
73 Generate SH3 code
75 m3e
76 Target RejectNegative Condition(SUPPORT_SH3E)
77 Generate SH3e code
80 Target RejectNegative Mask(SH4) Condition(SUPPORT_SH4)
81 Generate SH4 code
83 m4-nofpu
84 Target RejectNegative Condition(SUPPORT_SH4_NOFPU)
85 Generate SH4 FPU-less code
87 m4-single
88 Target RejectNegative Condition(SUPPORT_SH4_SINGLE)
89 Generate default single-precision SH4 code
91 m4-single-only
92 Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY)
93 Generate only single-precision SH4 code
95 m4a
96 Target RejectNegative Mask(SH4A) Condition(SUPPORT_SH4A)
97 Generate SH4a code
99 m4a-nofpu
100 Target RejectNegative Condition(SUPPORT_SH4A_NOFPU)
101 Generate SH4a FPU-less code
103 m4a-single
104 Target RejectNegative Condition(SUPPORT_SH4A_SINGLE)
105 Generate default single-precision SH4a code
107 m4a-single-only
108 Target RejectNegative Condition(SUPPORT_SH4A_SINGLE_ONLY)
109 Generate only single-precision SH4a code
111 m4al
112 Target RejectNegative Condition(SUPPORT_SH4AL)
113 Generate SH4al-dsp code
115 m5-32media
116 Target RejectNegative Condition(SUPPORT_SH5_32MEDIA)
117 Generate 32-bit SHmedia code
119 m5-32media-nofpu
120 Target RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)
121 Generate 32-bit FPU-less SHmedia code
123 m5-64media
124 Target RejectNegative Condition(SUPPORT_SH5_64MEDIA)
125 Generate 64-bit SHmedia code
127 m5-64media-nofpu
128 Target RejectNegative Condition(SUPPORT_SH5_64MEDIA_NOFPU)
129 Generate 64-bit FPU-less SHmedia code
131 m5-compact
132 Target RejectNegative Condition(SUPPORT_SH5_32MEDIA)
133 Generate SHcompact code
135 m5-compact-nofpu
136 Target RejectNegative Condition(SUPPORT_SH5_32MEDIA_NOFPU)
137 Generate FPU-less SHcompact code
139 madjust-unroll
140 Target Report Mask(ADJUST_UNROLL) Condition(SUPPORT_ANY_SH5)
141 Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this
144 Target Report RejectNegative InverseMask(LITTLE_ENDIAN)
145 Generate code in big endian mode
147 mbigtable
148 Target Report RejectNegative Mask(BIGTABLE)
149 Generate 32-bit offsets in switch tables
151 mcut2-workaround
152 Target RejectNegative Var(TARGET_SH5_CUT2_WORKAROUND)
153 Enable SH5 cut2 workaround
155 mdalign
156 Target Report RejectNegative Mask(ALIGN_DOUBLE)
157 Align doubles at 64-bit boundaries
159 mdiv=
160 Target RejectNegative Joined Var(sh_div_str) Init("")
161 Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp
163 mdivsi3_libfunc=
164 Target RejectNegative Joined Var(sh_divsi3_libfunc) Init("")
165 Specify name for 32 bit signed division function
167 mfmovd
168 Target RejectNegative Mask(FMOVD) Undocumented
170 mgettrcost=
171 Target RejectNegative Joined UInteger Var(sh_gettrcost) Init(-1)
172 Cost to assume for gettr insn
174 mhitachi
175 Target Report RejectNegative Mask(HITACHI)
176 Follow Renesas (formerly Hitachi) / SuperH calling conventions
178 mieee
179 Target Report Mask(IEEE)
180 Increase the IEEE compliance for floating-point code
182 mindexed-addressing
183 Target Report Mask(ALLOW_INDEXED_ADDRESS) Condition(SUPPORT_ANY_SH5_32MEDIA)
184 Enable the use of the indexed addressing mode for SHmedia32/SHcompact
186 minvalid-symbols
187 Target Report Mask(INVALID_SYMBOLS) Condition(SUPPORT_ANY_SH5)
188 Assume symbols might be invalid
190 misize
191 Target Report RejectNegative Mask(DUMPISIZE)
192 Annotate assembler instructions with estimated addresses
195 Target Report RejectNegative Mask(LITTLE_ENDIAN)
196 Generate code in little endian mode
198 mnomacsave
199 Target Report RejectNegative Mask(NOMACSAVE)
200 Mark MAC register as call-clobbered
202 ;; ??? This option is not useful, but is retained in case there are people
203 ;; who are still relying on it.  It may be deleted in the future.
204 mpadstruct
205 Target Report RejectNegative Mask(PADSTRUCT)
206 Make structs a multiple of 4 bytes (warning: ABI altered)
208 mprefergot
209 Target Report RejectNegative Mask(PREFERGOT)
210 Emit function-calls using global offset table when generating PIC
212 mpt-fixed
213 Target Report Mask(PT_FIXED) Condition(SUPPORT_ANY_SH5)
214 Assume pt* instructions won't trap
216 mrelax
217 Target Report RejectNegative Mask(RELAX)
218 Shorten address references during linking
220 mrenesas
221 Target Mask(HITACHI) MaskExists
222 Follow Renesas (formerly Hitachi) / SuperH calling conventions
224 mspace
225 Target Report RejectNegative Mask(SMALLCODE)
226 Deprecated. Use -Os instead
228 multcost=
229 Target RejectNegative Joined UInteger Var(sh_multcost) Init(-1)
230 Cost to assume for a multiply insn
232 musermode
233 Target Report RejectNegative Mask(USERMODE)
234 Generate library function call to invalidate instruction cache entries after fixing trampoline