GCC MIPS Options Support Status

From Dmz-portal

Jump to: navigation, search
Option Description Clang
-EL Generate big-endian code. Supported
-BE Generate little-endian code. Supported
-march=arch Generate code that runs on arch, which can be the name of a generic MIPS ISA, or the name of a particular processor. Supported mips32, mips32r2, mips64, mips64r2
-mtune=arch Optimize for arch. Unsupported
-mips1 Equivalent to -march=mips1. Unsupported
-mips2 Equivalent to -march=mips2. Unsupported
-mips3 Equivalent to -march=mips3. Unsupported
-mips4 Equivalent to -march=mips4. Unsupported
-mips32 Equivalent to -march=mips32. Supported
-mips32r2 Equivalent to -march=mips32r2. Supported
-mips64 Equivalent to -march=mips64. Supported
-mips64r2 Equivalent to -march=mips64r2. Supported
-mips16/-mno-mips16 Generate (do not generate) MIPS16 code. Supported
-mflip-mips16 Generate MIPS16 code on alternating functions. This option is not intended for ordinary use in compiling user code. Unsupported
-minterlink-compressed/-mno-interlink-compressed Require (do not require) that code using the standard (uncompressed) MIPS ISA be link-compatible with MIPS16 and microMIPS code, and vice versa. Unsupported
-minterlink-mips16/-mno-interlink-mips16 Aliases of -minterlink-compressed and -mno-interlink-compressed. Unsupported
-mabi=32/-mabi=o64/-mabi=n32/-mabi=64/-mabi=eabi Generate code for the given ABI. Supported
-mabicalls/-mno-abicalls Generate (do not generate) code that is suitable for SVR4-style dynamic objects Unsupported
-mshared/-mno-shared Generate (do not generate) code that is fully position-independent Unsupported
-mplt/-mno-plt Assume (do not assume) that the static and dynamic linkers support PLTs and copy relocations. Unsupported
-mxgot/-mno-xgot Lift (do not lift) the usual restrictions on the size of the global offset table. Supported
-mgp32 Assume that general-purpose registers are 32 bits wide. Unsupported
-mgp64 Assume that general-purpose registers are 64 bits wide. Unsupported
-mfp32 Assume that floating-point registers are 32 bits wide. Unsupported
-mfp64 Assume that floating-point registers are 64 bits wide. Unsupported
-mhard-float Use floating-point coprocessor instructions. Supported
-msoft-float Do not use floating-point coprocessor instructions. Supported
-mno-float Equivalent to -msoft-float, but additionally asserts that the program being compiled does not perform any floating-point operations. Unsupported
-msingle-float Assume that the floating-point coprocessor only supports single-precision operations. Supported
-mdouble-float Assume that the floating-point coprocessor supports double-precision operations. Supported
-mllsc/-mno-llsc Use (do not use) ‘ll’, ‘sc’, and ‘sync’ instructions to implement atomic memory built-in functions. Unsupported
-mdsp/-mno-dsp Use (do not use) revision 1 of the MIPS DSP ASE. Supported
-mdspr2/-mno-dspr2 Use (do not use) revision 2 of the MIPS DSP ASE. Supported
-msmartmips/-mno-smartmips Use (do not use) the MIPS SmartMIPS ASE. Unsupported
-mpaired-single/-mno-paired-single Use (do not use) paired-single floating-point instructions. Unsupported
-mdmx/-mno-dmx Use (do not use) MIPS Digital Media Extension instructions. Unsupported
-mips3d/-mno-mips3d Use (do not use) the MIPS-3D ASE. Unsupported
-mmicromips/-mno-micromips Generate (do not generate) microMIPS code. Supported
-mmt/-mno-mt Use (do not use) MT Multithreading instructions. Unsupported
-mmcu/-mno-mcu Use (do not use) the MIPS MCU ASE instructions. Unsupported
-mlong64 Force long types to be 64 bits wide. Unsupported
-mlong32 Force long, int, and pointer types to be 32 bits wide. Unsupported
-msym32/-mno-sym32 Assume (do not assume) that all symbols have 32-bit values, regardless of the selected ABI. Unsupported
-G num Put definitions of externally-visible data in a small data section if that data is no bigger than num bytes. Supported
-mlocal-sdata/-mno-local-sdata Extend (do not extend) the -G behavior to local data too, such as to static variables in C. Unsupported
-mextern-sdata/-mno-extern-sdata Assume (do not assume) that externally-defined data is in a small data section if the size of that data is within the -G limit. Unsupported
-mgpopt/-mno-gpopt Use (do not use) GP-relative accesses for symbols that are known to be in a small data section; see -G, -mlocal-sdata and -mextern-sdata. Unsupported
-membedded-data/-mno-embedded-data Allocate variables to the read-only data section first if possible, then next in the small data section if possible, otherwise in data. Unsupported
-muninit-const-in-rodata/-mno-uninit-const-in-rodata Put uninitialized const variables in the read-only data section. Unsupported
-mcode-readable=setting Specify whether GCC may generate code that reads from executable sections. Unsupported
-msplit-addresses/-mno-split-addresses Enable (disable) use of the %hi() and %lo() assembler relocation operators. Unsupported
-mexplicit-relocs/-mno-explicit-relocs Use (do not use) assembler relocation operators when dealing with symbolic addresses. Unsupported
-mcheck-zero-division/-mno-check-zero-division Trap (do not trap) on integer division by zero. Unsupported
-mdivide-traps/-mdivide-breaks Use -mdivide-traps to allow conditional traps on architectures that support them and -mdivide-breaks to force the use of breaks. Unsupported
-mmemcpy/-mno-memcpy Force (do not force) the use of memcpy() for non-trivial block moves. Unsupported
-mlong-calls/-mno-long-calls Disable (do not disable) use of the jal instruction. Unsupported
-mmad/-mno-mad Enable (disable) use of the mad, madu and mul instructions. Unsupported
-mimadd/-mno-imadd Enable (disable) use of the madd and msub integer instructions. Unsupported
-mfused-madd/-mno-fused-madd Enable (disable) use of the floating-point multiply-accumulate instructions, when they are available. Unsupported
-nocpp Tell the MIPS assembler to not run its preprocessor over user assembler files (with a ‘.s’ suffix) when assembling them. Unsupported
-mfix-24k/-mno-fix-24k Work around the 24K E48 (lost data on stores during refill) errata. Unsupported
-mfix-r4000/-mno-fix-r4000 Work around certain R4000 CPU errata Unsupported
-mfix-r4400/-mno-fix-r4400 Work around certain R4400 CPU errata Unsupported
-mfix-r10000/-mno-fix-r10000 Work around certain R10000 errata Unsupported
-mfix-vr4120/-mno-fix-vr4120 Work around certain VR4120 errata Unsupported
-mfix-vr4130 Work around the VR4130 mflo/mfhi errata Unsupported
-mfix-sb1/-mno-fix-sb1 Work around certain SB-1 CPU core errata. Unsupported
-mr10k-cache-barrier=setting Specify whether GCC should insert cache barriers to avoid the side-effects of speculation on R10K processors. Unsupported
-mflush-func=func/-mno-flush-func Specifies the function to call to flush the I and D caches, or to not call any such function. Unsupported
-mbranch-cost=num Set the cost of branches to roughly num "simple" instructions. Unsupported
-mbranch-likely/-mno-branch-likely Enable or disable use of Branch Likely instructions, regardless of the default for the selected architecture. Unsupported
-mfp-exceptions/-mno-fp-exceptions Specifies whether FP exceptions are enabled. Unsupported
-mvr4130-align/-mno-vr4130-align The VR4130 pipeline is two-way superscalar, but can only issue two instructions together if the first one is 8-byte aligned. Unsupported
-msynci/-mno-synci Enable (disable) generation of synci instructions on architectures that support it. Unsupported
-mrelax-pic-calls/-mno-relax-pic-calls Try to turn PIC calls that are normally dispatched via register $25 into direct calls. Unsupported
-mmcount-ra-address/-mno-mcount-ra-address Emit (do not emit) code that allows _mcount to modify the calling function's return address. Unsupported
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox