SH Options
These -m options are defined for the SH implementations:
     
- -m1
- Generate code for the SH1.
     
 
- -m2
- Generate code for the SH2.
     
 
- -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 switchtables.  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 MACregister as call-clobbered, even if-mhitachiis 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*.