OSDN Git Service

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