Mercurial > hg > CbC > CbC_gcc
annotate gcc/config/mips/mips.opt @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
rev | line source |
---|---|
0 | 1 ; Options for the MIPS port of the compiler |
2 ; | |
131 | 3 ; Copyright (C) 2005-2018 Free Software Foundation, Inc. |
0 | 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 | |
111 | 21 HeaderInclude |
22 config/mips/mips-opts.h | |
23 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
24 EB |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
25 Driver |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
26 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
27 EL |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
28 Driver |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
29 |
0 | 30 mabi= |
111 | 31 Target RejectNegative Joined Enum(mips_abi) Var(mips_abi) Init(MIPS_ABI_DEFAULT) |
32 -mabi=ABI Generate code that conforms to the given ABI. | |
33 | |
34 Enum | |
35 Name(mips_abi) Type(int) | |
36 Known MIPS ABIs (for use with the -mabi= option): | |
37 | |
38 EnumValue | |
39 Enum(mips_abi) String(32) Value(ABI_32) | |
40 | |
41 EnumValue | |
42 Enum(mips_abi) String(o64) Value(ABI_O64) | |
43 | |
44 EnumValue | |
45 Enum(mips_abi) String(n32) Value(ABI_N32) | |
46 | |
47 EnumValue | |
48 Enum(mips_abi) String(64) Value(ABI_64) | |
49 | |
50 EnumValue | |
51 Enum(mips_abi) String(eabi) Value(ABI_EABI) | |
0 | 52 |
53 mabicalls | |
54 Target Report Mask(ABICALLS) | |
111 | 55 Generate code that can be used in SVR4-style dynamic objects. |
0 | 56 |
111 | 57 mmad |
0 | 58 Target Report Var(TARGET_MAD) |
111 | 59 Use PMC-style 'mad' instructions. |
60 | |
61 mimadd | |
62 Target Report Mask(IMADD) | |
63 Use integer madd/msub instructions. | |
0 | 64 |
65 march= | |
111 | 66 Target RejectNegative Joined Var(mips_arch_option) ToLower Enum(mips_arch_opt_value) |
67 -march=ISA Generate code for the given ISA. | |
0 | 68 |
69 mbranch-cost= | |
70 Target RejectNegative Joined UInteger Var(mips_branch_cost) | |
111 | 71 -mbranch-cost=COST Set the cost of branches to roughly COST instructions. |
0 | 72 |
73 mbranch-likely | |
74 Target Report Mask(BRANCHLIKELY) | |
111 | 75 Use Branch Likely instructions, overriding the architecture default. |
0 | 76 |
77 mflip-mips16 | |
78 Target Report Var(TARGET_FLIP_MIPS16) | |
111 | 79 Switch on/off MIPS16 ASE on alternating functions for compiler testing. |
0 | 80 |
81 mcheck-zero-division | |
82 Target Report Mask(CHECK_ZERO_DIV) | |
111 | 83 Trap on integer divide by zero. |
0 | 84 |
85 mcode-readable= | |
111 | 86 Target RejectNegative Joined Enum(mips_code_readable_setting) Var(mips_code_readable) Init(CODE_READABLE_YES) |
87 -mcode-readable=SETTING Specify when instructions are allowed to access code. | |
88 | |
89 Enum | |
90 Name(mips_code_readable_setting) Type(enum mips_code_readable_setting) | |
91 Valid arguments to -mcode-readable=: | |
92 | |
93 EnumValue | |
94 Enum(mips_code_readable_setting) String(yes) Value(CODE_READABLE_YES) | |
95 | |
96 EnumValue | |
97 Enum(mips_code_readable_setting) String(pcrel) Value(CODE_READABLE_PCREL) | |
98 | |
99 EnumValue | |
100 Enum(mips_code_readable_setting) String(no) Value(CODE_READABLE_NO) | |
0 | 101 |
102 mdivide-breaks | |
103 Target Report RejectNegative Mask(DIVIDE_BREAKS) | |
111 | 104 Use branch-and-break sequences to check for integer divide by zero. |
0 | 105 |
106 mdivide-traps | |
107 Target Report RejectNegative InverseMask(DIVIDE_BREAKS, DIVIDE_TRAPS) | |
111 | 108 Use trap instructions to check for integer divide by zero. |
0 | 109 |
110 mdmx | |
111 Target Report RejectNegative Var(TARGET_MDMX) | |
111 | 112 Allow the use of MDMX instructions. |
0 | 113 |
114 mdouble-float | |
115 Target Report RejectNegative InverseMask(SINGLE_FLOAT, DOUBLE_FLOAT) | |
111 | 116 Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations. |
0 | 117 |
118 mdsp | |
111 | 119 Target Report Var(TARGET_DSP) |
120 Use MIPS-DSP instructions. | |
0 | 121 |
122 mdspr2 | |
111 | 123 Target Report Var(TARGET_DSPR2) |
124 Use MIPS-DSP REV 2 instructions. | |
0 | 125 |
126 mdebug | |
127 Target Var(TARGET_DEBUG_MODE) Undocumented | |
128 | |
129 mdebugd | |
130 Target Var(TARGET_DEBUG_D_MODE) Undocumented | |
131 | |
132 meb | |
133 Target Report RejectNegative Mask(BIG_ENDIAN) | |
111 | 134 Use big-endian byte order. |
0 | 135 |
136 mel | |
137 Target Report RejectNegative InverseMask(BIG_ENDIAN, LITTLE_ENDIAN) | |
111 | 138 Use little-endian byte order. |
0 | 139 |
140 membedded-data | |
141 Target Report Var(TARGET_EMBEDDED_DATA) | |
111 | 142 Use ROM instead of RAM. |
143 | |
144 meva | |
145 Target Report Var(TARGET_EVA) | |
146 Use Enhanced Virtual Addressing instructions. | |
0 | 147 |
148 mexplicit-relocs | |
149 Target Report Mask(EXPLICIT_RELOCS) | |
111 | 150 Use NewABI-style %reloc() assembly operators. |
0 | 151 |
152 mextern-sdata | |
153 Target Report Var(TARGET_EXTERN_SDATA) Init(1) | |
111 | 154 Use -G for data that is not defined by the current object. |
155 | |
156 mfix-24k | |
157 Target Report Var(TARGET_FIX_24K) | |
158 Work around certain 24K errata. | |
0 | 159 |
160 mfix-r4000 | |
161 Target Report Mask(FIX_R4000) | |
111 | 162 Work around certain R4000 errata. |
0 | 163 |
164 mfix-r4400 | |
165 Target Report Mask(FIX_R4400) | |
111 | 166 Work around certain R4400 errata. |
167 | |
168 mfix-rm7000 | |
169 Target Report Var(TARGET_FIX_RM7000) | |
170 Work around certain RM7000 errata. | |
0 | 171 |
172 mfix-r10000 | |
173 Target Report Mask(FIX_R10000) | |
111 | 174 Work around certain R10000 errata. |
0 | 175 |
176 mfix-sb1 | |
177 Target Report Var(TARGET_FIX_SB1) | |
111 | 178 Work around errata for early SB-1 revision 2 cores. |
0 | 179 |
180 mfix-vr4120 | |
181 Target Report Var(TARGET_FIX_VR4120) | |
111 | 182 Work around certain VR4120 errata. |
0 | 183 |
184 mfix-vr4130 | |
185 Target Report Var(TARGET_FIX_VR4130) | |
111 | 186 Work around VR4130 mflo/mfhi errata. |
0 | 187 |
188 mfix4300 | |
189 Target Report Var(TARGET_4300_MUL_FIX) | |
111 | 190 Work around an early 4300 hardware bug. |
0 | 191 |
192 mfp-exceptions | |
111 | 193 Target Report Var(TARGET_FP_EXCEPTIONS) Init(1) |
194 FP exceptions are enabled. | |
0 | 195 |
196 mfp32 | |
197 Target Report RejectNegative InverseMask(FLOAT64) | |
111 | 198 Use 32-bit floating-point registers. |
199 | |
200 mfpxx | |
201 Target Report RejectNegative Mask(FLOATXX) | |
202 Conform to the o32 FPXX ABI. | |
0 | 203 |
204 mfp64 | |
205 Target Report RejectNegative Mask(FLOAT64) | |
111 | 206 Use 64-bit floating-point registers. |
0 | 207 |
208 mflush-func= | |
209 Target RejectNegative Joined Var(mips_cache_flush_func) Init(CACHE_FLUSH_FUNC) | |
111 | 210 -mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines. |
211 | |
212 mabs= | |
213 Target RejectNegative Joined Enum(mips_ieee_754_value) Var(mips_abs) Init(MIPS_IEEE_754_DEFAULT) | |
214 -mabs=MODE Select the IEEE 754 ABS/NEG instruction execution mode. | |
215 | |
216 mnan= | |
217 Target RejectNegative Joined Enum(mips_ieee_754_value) Var(mips_nan) Init(MIPS_IEEE_754_DEFAULT) | |
218 -mnan=ENCODING Select the IEEE 754 NaN data encoding. | |
0 | 219 |
111 | 220 Enum |
221 Name(mips_ieee_754_value) Type(int) | |
222 Known MIPS IEEE 754 settings (for use with the -mabs= and -mnan= options): | |
223 | |
224 EnumValue | |
225 Enum(mips_ieee_754_value) String(2008) Value(MIPS_IEEE_754_2008) | |
226 | |
227 EnumValue | |
228 Enum(mips_ieee_754_value) String(legacy) Value(MIPS_IEEE_754_LEGACY) | |
0 | 229 |
230 mgp32 | |
231 Target Report RejectNegative InverseMask(64BIT) | |
111 | 232 Use 32-bit general registers. |
0 | 233 |
234 mgp64 | |
235 Target Report RejectNegative Mask(64BIT) | |
111 | 236 Use 64-bit general registers. |
0 | 237 |
238 mgpopt | |
239 Target Report Var(TARGET_GPOPT) Init(1) | |
111 | 240 Use GP-relative addressing to access small data. |
0 | 241 |
242 mplt | |
243 Target Report Var(TARGET_PLT) | |
111 | 244 When generating -mabicalls code, allow executables to use PLTs and copy relocations. |
0 | 245 |
246 mhard-float | |
247 Target Report RejectNegative InverseMask(SOFT_FLOAT_ABI, HARD_FLOAT_ABI) | |
111 | 248 Allow the use of hardware floating-point ABI and instructions. |
249 | |
250 minterlink-compressed | |
251 Target Report Var(TARGET_INTERLINK_COMPRESSED) Init(0) | |
252 Generate code that is link-compatible with MIPS16 and microMIPS code. | |
0 | 253 |
254 minterlink-mips16 | |
111 | 255 Target Report Var(TARGET_INTERLINK_COMPRESSED) Init(0) |
256 An alias for minterlink-compressed provided for backward-compatibility. | |
0 | 257 |
258 mips | |
111 | 259 Target RejectNegative Joined ToLower Enum(mips_mips_opt_value) Var(mips_isa_option) |
260 -mipsN Generate code for ISA level N. | |
0 | 261 |
262 mips16 | |
263 Target Report RejectNegative Mask(MIPS16) | |
111 | 264 Generate MIPS16 code. |
0 | 265 |
266 mips3d | |
111 | 267 Target Report RejectNegative Var(TARGET_MIPS3D) |
268 Use MIPS-3D instructions. | |
0 | 269 |
270 mllsc | |
271 Target Report Mask(LLSC) | |
111 | 272 Use ll, sc and sync instructions. |
0 | 273 |
274 mlocal-sdata | |
275 Target Report Var(TARGET_LOCAL_SDATA) Init(1) | |
111 | 276 Use -G for object-local data. |
0 | 277 |
278 mlong-calls | |
279 Target Report Var(TARGET_LONG_CALLS) | |
111 | 280 Use indirect calls. |
0 | 281 |
282 mlong32 | |
283 Target Report RejectNegative InverseMask(LONG64, LONG32) | |
111 | 284 Use a 32-bit long type. |
0 | 285 |
286 mlong64 | |
287 Target Report RejectNegative Mask(LONG64) | |
111 | 288 Use a 64-bit long type. |
0 | 289 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
290 mmcount-ra-address |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
291 Target Report Var(TARGET_MCOUNT_RA_ADDRESS) |
111 | 292 Pass the address of the ra save location to _mcount in $12. |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
293 |
0 | 294 mmemcpy |
295 Target Report Mask(MEMCPY) | |
111 | 296 Don't optimize block moves. |
0 | 297 |
111 | 298 mmicromips |
299 Target Report Mask(MICROMIPS) | |
300 Use microMIPS instructions. | |
301 | |
302 mmsa | |
303 Target Report Var(TARGET_MSA) | |
304 Use MIPS MSA Extension instructions. | |
0 | 305 |
306 mmt | |
307 Target Report Var(TARGET_MT) | |
111 | 308 Allow the use of MT instructions. |
0 | 309 |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
310 mno-float |
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
311 Target Report RejectNegative Var(TARGET_NO_FLOAT) Condition(TARGET_SUPPORTS_NO_FLOAT) |
111 | 312 Prevent the use of all floating-point operations. |
313 | |
314 mmcu | |
315 Target Report Var(TARGET_MCU) | |
316 Use MCU instructions. | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
317 |
0 | 318 mno-flush-func |
319 Target RejectNegative | |
111 | 320 Do not use a cache-flushing function before calling stack trampolines. |
0 | 321 |
322 mno-mdmx | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
323 Target Report RejectNegative Var(TARGET_MDMX, 0) |
111 | 324 Do not use MDMX instructions. |
0 | 325 |
326 mno-mips16 | |
327 Target Report RejectNegative InverseMask(MIPS16) | |
111 | 328 Generate normal-mode code. |
0 | 329 |
330 mno-mips3d | |
111 | 331 Target Report RejectNegative Var(TARGET_MIPS3D, 0) |
332 Do not use MIPS-3D instructions. | |
0 | 333 |
334 mpaired-single | |
335 Target Report Mask(PAIRED_SINGLE_FLOAT) | |
111 | 336 Use paired-single floating-point instructions. |
0 | 337 |
338 mr10k-cache-barrier= | |
111 | 339 Target Joined RejectNegative Enum(mips_r10k_cache_barrier_setting) Var(mips_r10k_cache_barrier) Init(R10K_CACHE_BARRIER_NONE) |
340 -mr10k-cache-barrier=SETTING Specify when r10k cache barriers should be inserted. | |
341 | |
342 Enum | |
343 Name(mips_r10k_cache_barrier_setting) Type(enum mips_r10k_cache_barrier_setting) | |
344 Valid arguments to -mr10k-cache-barrier=: | |
345 | |
346 EnumValue | |
347 Enum(mips_r10k_cache_barrier_setting) String(load-store) Value(R10K_CACHE_BARRIER_LOAD_STORE) | |
348 | |
349 EnumValue | |
350 Enum(mips_r10k_cache_barrier_setting) String(store) Value(R10K_CACHE_BARRIER_STORE) | |
351 | |
352 EnumValue | |
353 Enum(mips_r10k_cache_barrier_setting) String(none) Value(R10K_CACHE_BARRIER_NONE) | |
0 | 354 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
355 mrelax-pic-calls |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
356 Target Report Mask(RELAX_PIC_CALLS) |
111 | 357 Try to allow the linker to turn PIC calls into direct calls. |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
358 |
0 | 359 mshared |
360 Target Report Var(TARGET_SHARED) Init(1) | |
111 | 361 When generating -mabicalls code, make the code suitable for use in shared libraries. |
0 | 362 |
363 msingle-float | |
364 Target Report RejectNegative Mask(SINGLE_FLOAT) | |
111 | 365 Restrict the use of hardware floating-point instructions to 32-bit operations. |
0 | 366 |
367 msmartmips | |
368 Target Report Mask(SMARTMIPS) | |
111 | 369 Use SmartMIPS instructions. |
0 | 370 |
371 msoft-float | |
372 Target Report RejectNegative Mask(SOFT_FLOAT_ABI) | |
111 | 373 Prevent the use of all hardware floating-point instructions. |
0 | 374 |
375 msplit-addresses | |
376 Target Report Mask(SPLIT_ADDRESSES) | |
111 | 377 Optimize lui/addiu address loads. |
0 | 378 |
379 msym32 | |
380 Target Report Var(TARGET_SYM32) | |
111 | 381 Assume all symbols have 32-bit values. |
0 | 382 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
383 msynci |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
384 Target Report Mask(SYNCI) |
111 | 385 Use synci instruction to invalidate i-cache. |
386 | |
387 mlra | |
388 Target Report Var(mips_lra_flag) Init(1) Save | |
389 Use LRA instead of reload. | |
390 | |
391 mlxc1-sxc1 | |
392 Target Report Var(mips_lxc1_sxc1) Init(1) | |
393 Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable. | |
394 | |
395 mmadd4 | |
396 Target Report Var(mips_madd4) Init(1) | |
397 Use 4-operand madd.s/madd.d and related instructions where applicable. | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
398 |
0 | 399 mtune= |
111 | 400 Target RejectNegative Joined Var(mips_tune_option) ToLower Enum(mips_arch_opt_value) |
401 -mtune=PROCESSOR Optimize the output for PROCESSOR. | |
0 | 402 |
403 muninit-const-in-rodata | |
404 Target Report Var(TARGET_UNINIT_CONST_IN_RODATA) | |
111 | 405 Put uninitialized constants in ROM (needs -membedded-data). |
406 | |
407 mvirt | |
408 Target Report Var(TARGET_VIRT) | |
409 Use Virtualization (VZ) instructions. | |
410 | |
411 mxpa | |
412 Target Report Var(TARGET_XPA) | |
413 Use eXtended Physical Address (XPA) instructions. | |
0 | 414 |
131 | 415 mcrc |
416 Target Report Var(TARGET_CRC) | |
417 Use Cyclic Redundancy Check (CRC) instructions. | |
418 | |
419 mginv | |
420 Target Report Var(TARGET_GINV) | |
421 Use Global INValidate (GINV) instructions. | |
422 | |
0 | 423 mvr4130-align |
424 Target Report Mask(VR4130_ALIGN) | |
111 | 425 Perform VR4130-specific alignment optimizations. |
0 | 426 |
427 mxgot | |
428 Target Report Var(TARGET_XGOT) | |
111 | 429 Lift restrictions on GOT size. |
430 | |
431 modd-spreg | |
432 Target Report Mask(ODD_SPREG) | |
433 Enable use of odd-numbered single-precision registers. | |
434 | |
435 mframe-header-opt | |
436 Target Report Var(flag_frame_header_optimization) Optimization | |
437 Optimize frame header. | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
438 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
439 noasmopt |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
440 Driver |
111 | 441 |
442 mload-store-pairs | |
443 Target Report Var(TARGET_LOAD_STORE_PAIRS) Init(1) | |
444 Enable load/store bonding. | |
445 | |
446 mcompact-branches= | |
447 Target RejectNegative JoinedOrMissing Var(mips_cb) Report Enum(mips_cb_setting) Init(MIPS_CB_OPTIMAL) | |
448 Specify the compact branch usage policy. | |
449 | |
450 Enum | |
451 Name(mips_cb_setting) Type(enum mips_cb_setting) | |
452 Policies available for use with -mcompact-branches=: | |
453 | |
454 EnumValue | |
455 Enum(mips_cb_setting) String(never) Value(MIPS_CB_NEVER) | |
456 | |
457 EnumValue | |
458 Enum(mips_cb_setting) String(optimal) Value(MIPS_CB_OPTIMAL) | |
459 | |
460 EnumValue | |
461 Enum(mips_cb_setting) String(always) Value(MIPS_CB_ALWAYS) |