]>
Commit | Line | Data |
---|---|---|
3ad7bb65 KH |
1 | ; Options for the MIPS port of the compiler |
2 | ; | |
4da2ed2f | 3 | ; Copyright (C) 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. |
3ad7bb65 KH |
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 | |
2f83c7d6 | 9 | ; Software Foundation; either version 3, or (at your option) any later |
3ad7bb65 KH |
10 | ; version. |
11 | ; | |
12 | ; GCC is distributed in the hope that it will be useful, but WITHOUT | |
13 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
14 | ; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
15 | ; License for more details. | |
16 | ; | |
17 | ; You should have received a copy of the GNU General Public License | |
2f83c7d6 NC |
18 | ; along with GCC; see the file COPYING3. If not see |
19 | ; <http://www.gnu.org/licenses/>. | |
3ad7bb65 | 20 | |
4da2ed2f JM |
21 | EB |
22 | Driver | |
23 | ||
24 | EL | |
25 | Driver | |
26 | ||
d522e7a2 RS |
27 | mabi= |
28 | Target RejectNegative Joined | |
29 | -mabi=ABI Generate code that conforms to the given ABI | |
30 | ||
21c425ee RS |
31 | mabicalls |
32 | Target Report Mask(ABICALLS) | |
d9870b7e | 33 | Generate code that can be used in SVR4-style dynamic objects |
21c425ee RS |
34 | |
35 | mad | |
36 | Target Report Var(TARGET_MAD) | |
37 | Use PMC-style 'mad' instructions | |
38 | ||
d522e7a2 | 39 | march= |
55bea00a | 40 | Target RejectNegative Joined Var(mips_arch_string) |
d522e7a2 RS |
41 | -march=ISA Generate code for the given ISA |
42 | ||
a05bea76 RS |
43 | mbranch-cost= |
44 | Target RejectNegative Joined UInteger Var(mips_branch_cost) | |
45 | -mbranch-cost=COST Set the cost of branches to roughly COST instructions | |
46 | ||
21c425ee RS |
47 | mbranch-likely |
48 | Target Report Mask(BRANCHLIKELY) | |
49 | Use Branch Likely instructions, overriding the architecture default | |
50 | ||
f9e4a411 SL |
51 | mflip-mips16 |
52 | Target Report Var(TARGET_FLIP_MIPS16) | |
53 | Switch on/off MIPS16 ASE on alternating functions for compiler testing | |
54 | ||
21c425ee RS |
55 | mcheck-zero-division |
56 | Target Report Mask(CHECK_ZERO_DIV) | |
57 | Trap on integer divide by zero | |
58 | ||
704aab3e RS |
59 | mcode-readable= |
60 | Target RejectNegative Joined | |
61 | -mcode-readable=SETTING Specify when instructions are allowed to access code | |
62 | ||
21c425ee | 63 | mdivide-breaks |
25e3d99d | 64 | Target Report RejectNegative Mask(DIVIDE_BREAKS) |
21c425ee RS |
65 | Use branch-and-break sequences to check for integer divide by zero |
66 | ||
67 | mdivide-traps | |
25e3d99d | 68 | Target Report RejectNegative InverseMask(DIVIDE_BREAKS, DIVIDE_TRAPS) |
21c425ee RS |
69 | Use trap instructions to check for integer divide by zero |
70 | ||
500fc425 TS |
71 | mdmx |
72 | Target Report RejectNegative Var(TARGET_MDMX) | |
73 | Allow the use of MDMX instructions | |
74 | ||
21c425ee RS |
75 | mdouble-float |
76 | Target Report RejectNegative InverseMask(SINGLE_FLOAT, DOUBLE_FLOAT) | |
77 | Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations | |
78 | ||
118ea793 CF |
79 | mdsp |
80 | Target Report Mask(DSP) | |
81 | Use MIPS-DSP instructions | |
82 | ||
32041385 CF |
83 | mdspr2 |
84 | Target Report Mask(DSPR2) | |
85 | Use MIPS-DSP REV 2 instructions | |
86 | ||
21c425ee RS |
87 | mdebug |
88 | Target Var(TARGET_DEBUG_MODE) Undocumented | |
89 | ||
90 | mdebugd | |
91 | Target Var(TARGET_DEBUG_D_MODE) Undocumented | |
92 | ||
93 | meb | |
94 | Target Report RejectNegative Mask(BIG_ENDIAN) | |
95 | Use big-endian byte order | |
96 | ||
97 | mel | |
98 | Target Report RejectNegative InverseMask(BIG_ENDIAN, LITTLE_ENDIAN) | |
99 | Use little-endian byte order | |
100 | ||
101 | membedded-data | |
102 | Target Report Var(TARGET_EMBEDDED_DATA) | |
103 | Use ROM instead of RAM | |
104 | ||
105 | mexplicit-relocs | |
106 | Target Report Mask(EXPLICIT_RELOCS) | |
107 | Use NewABI-style %reloc() assembly operators | |
108 | ||
a318179e RS |
109 | mextern-sdata |
110 | Target Report Var(TARGET_EXTERN_SDATA) Init(1) | |
111 | Use -G for data that is not defined by the current object | |
112 | ||
21c425ee RS |
113 | mfix-r4000 |
114 | Target Report Mask(FIX_R4000) | |
115 | Work around certain R4000 errata | |
116 | ||
117 | mfix-r4400 | |
118 | Target Report Mask(FIX_R4400) | |
119 | Work around certain R4400 errata | |
120 | ||
ee9a72e5 JK |
121 | mfix-r10000 |
122 | Target Report Mask(FIX_R10000) | |
123 | Work around certain R10000 errata | |
124 | ||
21c425ee RS |
125 | mfix-sb1 |
126 | Target Report Var(TARGET_FIX_SB1) | |
127 | Work around errata for early SB-1 revision 2 cores | |
128 | ||
129 | mfix-vr4120 | |
130 | Target Report Var(TARGET_FIX_VR4120) | |
131 | Work around certain VR4120 errata | |
132 | ||
133 | mfix-vr4130 | |
134 | Target Report Var(TARGET_FIX_VR4130) | |
135 | Work around VR4130 mflo/mfhi errata | |
136 | ||
137 | mfix4300 | |
138 | Target Report Var(TARGET_4300_MUL_FIX) | |
139 | Work around an early 4300 hardware bug | |
140 | ||
141 | mfp-exceptions | |
142 | Target Report Mask(FP_EXCEPTIONS) | |
143 | FP exceptions are enabled | |
144 | ||
145 | mfp32 | |
146 | Target Report RejectNegative InverseMask(FLOAT64) | |
147 | Use 32-bit floating-point registers | |
148 | ||
149 | mfp64 | |
150 | Target Report RejectNegative Mask(FLOAT64) | |
151 | Use 64-bit floating-point registers | |
152 | ||
d522e7a2 | 153 | mflush-func= |
55bea00a | 154 | Target RejectNegative Joined Var(mips_cache_flush_func) Init(CACHE_FLUSH_FUNC) |
d522e7a2 RS |
155 | -mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines |
156 | ||
21c425ee RS |
157 | mfused-madd |
158 | Target Report Mask(FUSED_MADD) | |
159 | Generate floating-point multiply-add instructions | |
160 | ||
161 | mgp32 | |
162 | Target Report RejectNegative InverseMask(64BIT) | |
163 | Use 32-bit general registers | |
164 | ||
165 | mgp64 | |
166 | Target Report RejectNegative Mask(64BIT) | |
167 | Use 64-bit general registers | |
168 | ||
a318179e RS |
169 | mgpopt |
170 | Target Report Var(TARGET_GPOPT) Init(1) | |
171 | Use GP-relative addressing to access small data | |
172 | ||
e21d5757 DJ |
173 | mplt |
174 | Target Report Var(TARGET_PLT) | |
175 | When generating -mabicalls code, allow executables to use PLTs and copy relocations | |
176 | ||
21c425ee | 177 | mhard-float |
cc4ebe7d SL |
178 | Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI) |
179 | Allow the use of hardware floating-point ABI and instructions | |
21c425ee | 180 | |
1ec3b87b RS |
181 | minterlink-mips16 |
182 | Target Report Var(TARGET_INTERLINK_MIPS16) Init(0) | |
183 | Generate code that can be safely linked with MIPS16 code. | |
184 | ||
d522e7a2 RS |
185 | mips |
186 | Target RejectNegative Joined | |
187 | -mipsN Generate code for ISA level N | |
188 | ||
21c425ee RS |
189 | mips16 |
190 | Target Report RejectNegative Mask(MIPS16) | |
500fc425 | 191 | Generate MIPS16 code |
21c425ee RS |
192 | |
193 | mips3d | |
194 | Target Report RejectNegative Mask(MIPS3D) | |
195 | Use MIPS-3D instructions | |
196 | ||
66471b47 | 197 | mllsc |
e9276c30 | 198 | Target Report Mask(LLSC) |
66471b47 DD |
199 | Use ll, sc and sync instructions |
200 | ||
a318179e RS |
201 | mlocal-sdata |
202 | Target Report Var(TARGET_LOCAL_SDATA) Init(1) | |
203 | Use -G for object-local data | |
204 | ||
21c425ee RS |
205 | mlong-calls |
206 | Target Report Var(TARGET_LONG_CALLS) | |
207 | Use indirect calls | |
208 | ||
209 | mlong32 | |
210 | Target Report RejectNegative InverseMask(LONG64, LONG32) | |
211 | Use a 32-bit long type | |
212 | ||
213 | mlong64 | |
214 | Target Report RejectNegative Mask(LONG64) | |
215 | Use a 64-bit long type | |
216 | ||
c376dbfb DD |
217 | mmcount-ra-address |
218 | Target Report Var(TARGET_MCOUNT_RA_ADDRESS) | |
219 | Pass the address of the ra save location to _mcount in $12 | |
220 | ||
21c425ee | 221 | mmemcpy |
cfa31150 | 222 | Target Report Mask(MEMCPY) |
21c425ee RS |
223 | Don't optimize block moves |
224 | ||
225 | mmips-tfile | |
226 | Target | |
227 | Use the mips-tfile postpass | |
228 | ||
500fc425 TS |
229 | mmt |
230 | Target Report Var(TARGET_MT) | |
231 | Allow the use of MT instructions | |
232 | ||
9f946bc1 RS |
233 | mno-float |
234 | Target Report RejectNegative Var(TARGET_NO_FLOAT) Condition(TARGET_SUPPORTS_NO_FLOAT) | |
235 | Prevent the use of all floating-point operations | |
236 | ||
d522e7a2 RS |
237 | mno-flush-func |
238 | Target RejectNegative | |
239 | Do not use a cache-flushing function before calling stack trampolines | |
240 | ||
500fc425 | 241 | mno-mdmx |
70be5dc7 | 242 | Target Report RejectNegative Var(TARGET_MDMX, 0) |
500fc425 TS |
243 | Do not use MDMX instructions |
244 | ||
21c425ee RS |
245 | mno-mips16 |
246 | Target Report RejectNegative InverseMask(MIPS16) | |
247 | Generate normal-mode code | |
248 | ||
249 | mno-mips3d | |
250 | Target Report RejectNegative InverseMask(MIPS3D) | |
251 | Do not use MIPS-3D instructions | |
252 | ||
253 | mpaired-single | |
254 | Target Report Mask(PAIRED_SINGLE_FLOAT) | |
255 | Use paired-single floating-point instructions | |
256 | ||
4d210b07 RS |
257 | mr10k-cache-barrier= |
258 | Target Joined RejectNegative | |
259 | -mr10k-cache-barrier=SETTING Specify when r10k cache barriers should be inserted | |
260 | ||
b53da244 AN |
261 | mrelax-pic-calls |
262 | Target Report Mask(RELAX_PIC_CALLS) | |
263 | Try to allow the linker to turn PIC calls into direct calls | |
264 | ||
d9870b7e RS |
265 | mshared |
266 | Target Report Var(TARGET_SHARED) Init(1) | |
267 | When generating -mabicalls code, make the code suitable for use in shared libraries | |
268 | ||
21c425ee RS |
269 | msingle-float |
270 | Target Report RejectNegative Mask(SINGLE_FLOAT) | |
271 | Restrict the use of hardware floating-point instructions to 32-bit operations | |
272 | ||
0aa222d1 | 273 | msmartmips |
a166140f | 274 | Target Report Mask(SMARTMIPS) |
0aa222d1 SL |
275 | Use SmartMIPS instructions |
276 | ||
21c425ee | 277 | msoft-float |
cc4ebe7d | 278 | Target Report RejectNegative Mask(SOFT_FLOAT_ABI) |
21c425ee RS |
279 | Prevent the use of all hardware floating-point instructions |
280 | ||
281 | msplit-addresses | |
282 | Target Report Mask(SPLIT_ADDRESSES) | |
283 | Optimize lui/addiu address loads | |
284 | ||
285 | msym32 | |
286 | Target Report Var(TARGET_SYM32) | |
287 | Assume all symbols have 32-bit values | |
288 | ||
b96c5923 DD |
289 | msynci |
290 | Target Report Mask(SYNCI) | |
291 | Use synci instruction to invalidate i-cache | |
292 | ||
d522e7a2 | 293 | mtune= |
55bea00a | 294 | Target RejectNegative Joined Var(mips_tune_string) |
d522e7a2 RS |
295 | -mtune=PROCESSOR Optimize the output for PROCESSOR |
296 | ||
21c425ee RS |
297 | muninit-const-in-rodata |
298 | Target Report Var(TARGET_UNINIT_CONST_IN_RODATA) | |
299 | Put uninitialized constants in ROM (needs -membedded-data) | |
300 | ||
301 | mvr4130-align | |
302 | Target Report Mask(VR4130_ALIGN) | |
303 | Perform VR4130-specific alignment optimizations | |
304 | ||
305 | mxgot | |
306 | Target Report Var(TARGET_XGOT) | |
307 | Lift restrictions on GOT size | |
4da2ed2f JM |
308 | |
309 | noasmopt | |
310 | Driver |