3.17.18 SH Options
These `-m' options are defined for the SH implementations:
-m1- Generate code for the SH1.
-m2- Generate code for the SH2.
-m2e- Generate code for the SH2e.
-m3- Generate code for the SH3.
-m3e- Generate code for the SH3e.
-m4-nofpu- Generate code for the SH4 without a floating-point unit.
-m4-single-only- Generate code for the SH4 with a floating-point unit that only
supports single-precision arithmetic.
-m4-single- Generate code for the SH4 assuming the floating-point unit is in
single-precision mode by default.
-m4- Generate code for the SH4.
-mb- Compile code for the processor in big endian mode.
-ml- Compile code for the processor in little endian mode.
-mdalign- Align doubles at 64-bit boundaries. Note that this changes the calling
conventions, and thus some functions from the standard C library will
not work unless you recompile it first with -mdalign.
-mrelax- Shorten some address references at link time, when possible; uses the
linker option -relax.
-mbigtable- Use 32-bit offsets in
switch tables. The default is to use
16-bit offsets.
-mfmovd- Enable the use of the instruction
fmovd.
-mhitachi- Comply with the calling conventions defined by Renesas.
-mnomacsave- Mark the
MAC register as call-clobbered, even if
-mhitachi is given.
-mieee- Increase IEEE-compliance of floating-point code.
-misize- Dump instruction size and location in the assembly code.
-mpadstruct- This option is deprecated. It pads structures to multiple of 4 bytes,
which is incompatible with the SH ABI.
-mspace- Optimize for space instead of speed. Implied by -Os.
-mprefergot- When generating position-independent code, emit function calls using
the Global Offset Table instead of the Procedure Linkage Table.
-musermode- Generate a library function call to invalidate instruction cache
entries, after fixing up a trampoline. This library function call
doesn't assume it can write to the whole memory address space. This
is the default when the target is
sh-*-linux*.