компилятор C и C ++ проекта GNU (GNU project C and C++ compiler)
Параметры подробно (Options detail)
M32R/D
These -m
options are defined for Renesas M32R/D architectures:
-m32r2
Generate code for the M32R/2.
-m32rx
Generate code for the M32R/X.
-m32r
Generate code for the M32R. This is the default.
-mmodel=small
Assume all objects live in the lower 16MB of memory (so that
their addresses can be loaded with the "ld24" instruction),
and assume all subroutines are reachable with the "bl"
instruction. This is the default.
The addressability of a particular object can be set with the
"model" attribute.
-mmodel=medium
Assume objects may be anywhere in the 32-bit address space
(the compiler generates "seth/add3" instructions to load
their addresses), and assume all subroutines are reachable
with the "bl" instruction.
-mmodel=large
Assume objects may be anywhere in the 32-bit address space
(the compiler generates "seth/add3" instructions to load
their addresses), and assume subroutines may not be reachable
with the "bl" instruction (the compiler generates the much
slower "seth/add3/jl" instruction sequence).
-msdata=none
Disable use of the small data area. Variables are put into
one of ".data", ".bss", or ".rodata" (unless the "section"
attribute has been specified). This is the default.
The small data area consists of sections ".sdata" and
".sbss". Objects may be explicitly put in the small data
area with the "section" attribute using one of these
sections.
-msdata=sdata
Put small global and static data in the small data area, but
do not generate special code to reference them.
-msdata=use
Put small global and static data in the small data area, and
generate special instructions to reference them.
-G
num
Put global and static objects less than or equal to num bytes
into the small data or BSS sections instead of the normal
data or BSS sections. The default value of num is 8. The
-msdata
option must be set to one of sdata
or use
for this
option to have any effect.
All modules should be compiled with the same -G
num value.
Compiling with different values of num may or may not work;
if it doesn't the linker gives an error message---incorrect
code is not generated.
-mdebug
Makes the M32R-specific code in the compiler display some
statistics that might help in debugging programs.
-malign-loops
Align all loops to a 32-byte boundary.
-mno-align-loops
Do not enforce a 32-byte alignment for loops. This is the
default.
-missue-rate=
number
Issue number instructions per cycle. number can only be 1 or
2.
-mbranch-cost=
number
number can only be 1 or 2. If it is 1 then branches are
preferred over conditional code, if it is 2, then the
opposite applies.
-mflush-trap=
number
Specifies the trap number to use to flush the cache. The
default is 12. Valid numbers are between 0 and 15 inclusive.
-mno-flush-trap
Specifies that the cache cannot be flushed by using a trap.
-mflush-func=
name
Specifies the name of the operating system function to call
to flush the cache. The default is _flush_cache
, but a
function call is only used if a trap is not available.
-mno-flush-func
Indicates that there is no OS function for flushing the
cache.