-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
-
Change ABI to use double word insns.
-mno-dword
-
Do not use double word instructions.
-mdouble
-
Use floating-point double instructions.
-mno-double
-
Do not use floating-point double instructions.
-mmedia
-
Use media instructions.
-mno-media
-
Do not use media instructions.
-mmuladd
-
Use multiply and add/subtract instructions.
-mno-muladd
-
Do not use 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
-
Pack VLIW instructions.
-mno-pack
-
Do not pack VLIW instructions.
-mno-eflags
-
Do not mark ABI switches in e_flags.
-mcond-move
-
Enable the use of conditional-move instructions (default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-cond-move
-
Disable the use of conditional-move instructions.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mscc
-
Enable the use of conditional set instructions (default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-scc
-
Disable the use of conditional set instructions.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mcond-exec
-
Enable the use of conditional execution (default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-cond-exec
-
Disable the use of conditional execution.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mvliw-branch
-
Run a pass to pack branches into VLIW instructions (default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-vliw-branch
-
Do not run a pass to pack branches into VLIW instructions.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mmulti-cond-exec
-
Enable optimization of
&&
and ||
in conditional execution
(default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-multi-cond-exec
-
Disable optimization of
&&
and ||
in conditional execution.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mnested-cond-exec
-
Enable nested conditional execution optimizations (default).
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-mno-nested-cond-exec
-
Disable nested conditional execution optimizations.
This switch is mainly for debugging the compiler and will likely be removed
in a future version.
-moptimize-membar
-
This switch removes redundant
membar
instructions from the
compiler-generated code. It is enabled by default.
-mno-optimize-membar
-
This switch disables the automatic removal of redundant
membar
instructions from the generated code.
-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’.