-mgpr-32 ¶Only use the first 32 general-purpose registers.
-mgpr-64 ¶Use all 64 general-purpose registers.
-mfpr-32 ¶Use only the first 32 floating-point registers.
-mfpr-64 ¶Use all 64 floating-point registers.
-mhard-float ¶Use hardware instructions for floating-point operations.
-msoft-float ¶Use library routines for floating-point operations.
-malloc-cc ¶Dynamically allocate condition code registers.
-mfixed-cc ¶Do not try to dynamically allocate condition code registers, only
use icc0 and fcc0.
-mdword ¶-mno-dwordControl whether the ABI uses double-word instructions.
-mdouble ¶-mno-doubleEnable or disable use of floating-point double instructions.
-mmedia ¶-mno-mediaEnable or disable use of media instructions.
-mmuladd ¶-mno-muladdEnable or disable use of multiply and add/subtract instructions.
-mfdpic ¶Select the FDPIC ABI, which uses function descriptors to represent pointers to functions. Without any PIC/PIE-related options, it implies -fPIE. With -fpic or -fpie, it assumes GOT entries and small data are within a 12-bit range from the GOT base address; with -fPIC or -fPIE, GOT offsets are computed with 32 bits. With a ‘bfin-elf’ target, this option implies -msim.
-minline-plt ¶Enable inlining of PLT entries in function calls to functions that are not known to bind locally. It has no effect without -mfdpic. It’s enabled by default if optimizing for speed and compiling for shared libraries (i.e., -fPIC or -fpic), or when an optimization option such as -O3 or above is present in the command line.
-mTLS ¶Assume a large TLS segment when generating thread-local code.
-mtls ¶Do not assume a large TLS segment when generating thread-local code.
-mgprel-ro ¶Enable the use of GPREL relocations in the FDPIC ABI for data
that is known to be in read-only sections. It’s enabled by default,
except for -fpic or -fpie: even though it may help
make the global offset table smaller, it trades 1 instruction for 4.
With -fPIC or -fPIE, it trades 3 instructions for 4,
one of which may be shared by multiple symbols, and it avoids the need
for a GOT entry for the referenced symbol, so it’s more likely to be a
win. If it is not, -mno-gprel-ro can be used to disable it.
-multilib-library-pic ¶Link with the (library, not FD) pic libraries. It’s implied by -mlibrary-pic, as well as by -fPIC and -fpic without -mfdpic. You should never have to use it explicitly.
-mlinked-fp ¶Follow the EABI requirement of always creating a frame pointer whenever a stack frame is allocated. This option is enabled by default and can be disabled with -mno-linked-fp.
-mlong-calls ¶Use indirect addressing to call functions outside the current compilation unit. This allows the functions to be placed anywhere within the 32-bit address space.
-malign-labels ¶Try to align labels to an 8-byte boundary by inserting NOPs into the previous packet. This option only has an effect when VLIW packing is enabled. It doesn’t create new packets; it merely adds NOPs to existing ones.
-mlibrary-pic ¶Generate position-independent EABI code.
-macc-4 ¶Use only the first four media accumulator registers.
-macc-8 ¶Use all eight media accumulator registers.
-mpack ¶-mno-packEnable or disable packing VLIW instructions.
-mno-eflags ¶Do not mark ABI switches in e_flags.
-mcond-move ¶-mno-cond-moveEnable or disable the use of conditional-move instructions; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-mscc ¶-mno-sccEnable or disable the use of conditional set instructions; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-mcond-exec ¶-mno-cond-execEnable or disable the use of conditional execution; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-mvliw-branch ¶-mno-vliw-branchEnable or disable an optimization pass to pack branches into VLIW instructions; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-mmulti-cond-exec ¶-mno-multi-cond-execEnable or disable optimization of && and || in conditional
execution; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-mnested-cond-exec ¶-mno-nested-cond-execEnable or disable nested conditional execution optimizations; it is enabled by default.
This switch is mainly for debugging the compiler and will likely be removed in a future version.
-moptimize-membar ¶-mno-optimize-membarThis switch removes redundant membar instructions from the
compiler-generated code. It is enabled by default.
-mtomcat-stats ¶Cause gas to print out tomcat statistics.
-mcpu=cpu ¶Select the processor type for which to generate code. Possible values are ‘frv’, ‘fr550’, ‘tomcat’, ‘fr500’, ‘fr450’, ‘fr405’, ‘fr400’, ‘fr300’ and ‘simple’.