FRV Options#
- -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
andfcc0
.
- -mdword#
Change ABI to use double word insns.
- -mno-dword#
Do not use double word instructions.
- -mdword#
Default setting; overrides
-mno-dword
.
- -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 abfin-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.
- -moptimize-membar#
Default setting; overrides
-mno-optimize-membar
.
- -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
andsimple
.