компилятор C и C ++ проекта GNU (GNU project C and C++ compiler)
Параметры подробно (Options detail)
FRV
-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
.