0
|
1 ; Options for the MIPS port of the compiler
|
|
2 ;
|
|
3 ; Copyright (C) 2005, 2007, 2008 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 3, or (at your option) any later
|
|
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
|
|
18 ; along with GCC; see the file COPYING3. If not see
|
|
19 ; <http://www.gnu.org/licenses/>.
|
|
20
|
|
21 mabi=
|
|
22 Target RejectNegative Joined
|
|
23 -mabi=ABI Generate code that conforms to the given ABI
|
|
24
|
|
25 mabicalls
|
|
26 Target Report Mask(ABICALLS)
|
|
27 Generate code that can be used in SVR4-style dynamic objects
|
|
28
|
|
29 mad
|
|
30 Target Report Var(TARGET_MAD)
|
|
31 Use PMC-style 'mad' instructions
|
|
32
|
|
33 march=
|
|
34 Target RejectNegative Joined Var(mips_arch_string)
|
|
35 -march=ISA Generate code for the given ISA
|
|
36
|
|
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
|
|
41 mbranch-likely
|
|
42 Target Report Mask(BRANCHLIKELY)
|
|
43 Use Branch Likely instructions, overriding the architecture default
|
|
44
|
|
45 mflip-mips16
|
|
46 Target Report Var(TARGET_FLIP_MIPS16)
|
|
47 Switch on/off MIPS16 ASE on alternating functions for compiler testing
|
|
48
|
|
49 mcheck-zero-division
|
|
50 Target Report Mask(CHECK_ZERO_DIV)
|
|
51 Trap on integer divide by zero
|
|
52
|
|
53 mcode-readable=
|
|
54 Target RejectNegative Joined
|
|
55 -mcode-readable=SETTING Specify when instructions are allowed to access code
|
|
56
|
|
57 mdivide-breaks
|
|
58 Target Report RejectNegative Mask(DIVIDE_BREAKS)
|
|
59 Use branch-and-break sequences to check for integer divide by zero
|
|
60
|
|
61 mdivide-traps
|
|
62 Target Report RejectNegative InverseMask(DIVIDE_BREAKS, DIVIDE_TRAPS)
|
|
63 Use trap instructions to check for integer divide by zero
|
|
64
|
|
65 mdmx
|
|
66 Target Report RejectNegative Var(TARGET_MDMX)
|
|
67 Allow the use of MDMX instructions
|
|
68
|
|
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
|
|
73 mdsp
|
|
74 Target Report Mask(DSP)
|
|
75 Use MIPS-DSP instructions
|
|
76
|
|
77 mdspr2
|
|
78 Target Report Mask(DSPR2)
|
|
79 Use MIPS-DSP REV 2 instructions
|
|
80
|
|
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
|
|
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
|
|
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-r10000
|
|
116 Target Report Mask(FIX_R10000)
|
|
117 Work around certain R10000 errata
|
|
118
|
|
119 mfix-sb1
|
|
120 Target Report Var(TARGET_FIX_SB1)
|
|
121 Work around errata for early SB-1 revision 2 cores
|
|
122
|
|
123 mfix-vr4120
|
|
124 Target Report Var(TARGET_FIX_VR4120)
|
|
125 Work around certain VR4120 errata
|
|
126
|
|
127 mfix-vr4130
|
|
128 Target Report Var(TARGET_FIX_VR4130)
|
|
129 Work around VR4130 mflo/mfhi errata
|
|
130
|
|
131 mfix4300
|
|
132 Target Report Var(TARGET_4300_MUL_FIX)
|
|
133 Work around an early 4300 hardware bug
|
|
134
|
|
135 mfp-exceptions
|
|
136 Target Report Mask(FP_EXCEPTIONS)
|
|
137 FP exceptions are enabled
|
|
138
|
|
139 mfp32
|
|
140 Target Report RejectNegative InverseMask(FLOAT64)
|
|
141 Use 32-bit floating-point registers
|
|
142
|
|
143 mfp64
|
|
144 Target Report RejectNegative Mask(FLOAT64)
|
|
145 Use 64-bit floating-point registers
|
|
146
|
|
147 mflush-func=
|
|
148 Target RejectNegative Joined Var(mips_cache_flush_func) Init(CACHE_FLUSH_FUNC)
|
|
149 -mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines
|
|
150
|
|
151 mfused-madd
|
|
152 Target Report Mask(FUSED_MADD)
|
|
153 Generate floating-point multiply-add instructions
|
|
154
|
|
155 mgp32
|
|
156 Target Report RejectNegative InverseMask(64BIT)
|
|
157 Use 32-bit general registers
|
|
158
|
|
159 mgp64
|
|
160 Target Report RejectNegative Mask(64BIT)
|
|
161 Use 64-bit general registers
|
|
162
|
|
163 mgpopt
|
|
164 Target Report Var(TARGET_GPOPT) Init(1)
|
|
165 Use GP-relative addressing to access small data
|
|
166
|
|
167 mplt
|
|
168 Target Report Var(TARGET_PLT)
|
|
169 When generating -mabicalls code, allow executables to use PLTs and copy relocations
|
|
170
|
|
171 mhard-float
|
|
172 Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI)
|
|
173 Allow the use of hardware floating-point ABI and instructions
|
|
174
|
|
175 minterlink-mips16
|
|
176 Target Report Var(TARGET_INTERLINK_MIPS16) Init(0)
|
|
177 Generate code that can be safely linked with MIPS16 code.
|
|
178
|
|
179 mips
|
|
180 Target RejectNegative Joined
|
|
181 -mipsN Generate code for ISA level N
|
|
182
|
|
183 mips16
|
|
184 Target Report RejectNegative Mask(MIPS16)
|
|
185 Generate MIPS16 code
|
|
186
|
|
187 mips3d
|
|
188 Target Report RejectNegative Mask(MIPS3D)
|
|
189 Use MIPS-3D instructions
|
|
190
|
|
191 mllsc
|
|
192 Target Report Mask(LLSC)
|
|
193 Use ll, sc and sync instructions
|
|
194
|
|
195 mlocal-sdata
|
|
196 Target Report Var(TARGET_LOCAL_SDATA) Init(1)
|
|
197 Use -G for object-local data
|
|
198
|
|
199 mlong-calls
|
|
200 Target Report Var(TARGET_LONG_CALLS)
|
|
201 Use indirect calls
|
|
202
|
|
203 mlong32
|
|
204 Target Report RejectNegative InverseMask(LONG64, LONG32)
|
|
205 Use a 32-bit long type
|
|
206
|
|
207 mlong64
|
|
208 Target Report RejectNegative Mask(LONG64)
|
|
209 Use a 64-bit long type
|
|
210
|
|
211 mmemcpy
|
|
212 Target Report Mask(MEMCPY)
|
|
213 Don't optimize block moves
|
|
214
|
|
215 mmips-tfile
|
|
216 Target
|
|
217 Use the mips-tfile postpass
|
|
218
|
|
219 mmt
|
|
220 Target Report Var(TARGET_MT)
|
|
221 Allow the use of MT instructions
|
|
222
|
|
223 mno-flush-func
|
|
224 Target RejectNegative
|
|
225 Do not use a cache-flushing function before calling stack trampolines
|
|
226
|
|
227 mno-mdmx
|
|
228 Target Report RejectNegative InverseVar(MDMX)
|
|
229 Do not use MDMX instructions
|
|
230
|
|
231 mno-mips16
|
|
232 Target Report RejectNegative InverseMask(MIPS16)
|
|
233 Generate normal-mode code
|
|
234
|
|
235 mno-mips3d
|
|
236 Target Report RejectNegative InverseMask(MIPS3D)
|
|
237 Do not use MIPS-3D instructions
|
|
238
|
|
239 mpaired-single
|
|
240 Target Report Mask(PAIRED_SINGLE_FLOAT)
|
|
241 Use paired-single floating-point instructions
|
|
242
|
|
243 mr10k-cache-barrier=
|
|
244 Target Joined RejectNegative
|
|
245 -mr10k-cache-barrier=SETTING Specify when r10k cache barriers should be inserted
|
|
246
|
|
247 mshared
|
|
248 Target Report Var(TARGET_SHARED) Init(1)
|
|
249 When generating -mabicalls code, make the code suitable for use in shared libraries
|
|
250
|
|
251 msingle-float
|
|
252 Target Report RejectNegative Mask(SINGLE_FLOAT)
|
|
253 Restrict the use of hardware floating-point instructions to 32-bit operations
|
|
254
|
|
255 msmartmips
|
|
256 Target Report Mask(SMARTMIPS)
|
|
257 Use SmartMIPS instructions
|
|
258
|
|
259 msoft-float
|
|
260 Target Report RejectNegative Mask(SOFT_FLOAT_ABI)
|
|
261 Prevent the use of all hardware floating-point instructions
|
|
262
|
|
263 msplit-addresses
|
|
264 Target Report Mask(SPLIT_ADDRESSES)
|
|
265 Optimize lui/addiu address loads
|
|
266
|
|
267 msym32
|
|
268 Target Report Var(TARGET_SYM32)
|
|
269 Assume all symbols have 32-bit values
|
|
270
|
|
271 mtune=
|
|
272 Target RejectNegative Joined Var(mips_tune_string)
|
|
273 -mtune=PROCESSOR Optimize the output for PROCESSOR
|
|
274
|
|
275 muninit-const-in-rodata
|
|
276 Target Report Var(TARGET_UNINIT_CONST_IN_RODATA)
|
|
277 Put uninitialized constants in ROM (needs -membedded-data)
|
|
278
|
|
279 mvr4130-align
|
|
280 Target Report Mask(VR4130_ALIGN)
|
|
281 Perform VR4130-specific alignment optimizations
|
|
282
|
|
283 mxgot
|
|
284 Target Report Var(TARGET_XGOT)
|
|
285 Lift restrictions on GOT size
|