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