Home GNU Compiler Collection (GCC) www.imodulo.com · 2003-11-10
Imodulo

SH Options

[ Up: Submodel Options ]
[ Previous: H8/300 Options ][ Next: System V 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 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*.