3.17.13 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
icc0andfcc0. -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-fpicor-fpie, it assumes GOT entries and small data are within a 12-bit range from the GOT base address; with-fPICor-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.,-fPICor-fpic), or when an optimization option such as-O3or 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
GPRELrelocations in the FDPIC ABI for data that is known to be in read-only sections. It's enabled by default, except for-fpicor-fpie: even though it may help make the global offset table smaller, it trades 1 instruction for 4. With-fPICor-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-rocan 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-fPICand-fpicwithout-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
membarinstructions from the compiler-generated code. It is enabled by default. -mno-optimize-membar-
This switch disables the automatic removal of redundant
membarinstructions 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’.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc/FRV-Options.html