H8/300 Options (Using the GNU Compiler Collection (GCC))

#### 3.20.19 H8/300 Options ¶

These ‘`-m`’ options are defined for the H8/300 implementations:

`-mrelax` ¶

  Shorten some address references at link time, when possible; uses the linker option `-relax`. See `ld` and the H8/300 in Using ld, for a fuller description.

`-mh` ¶

  Generate code for the H8/300H.

`-ms` ¶

  Generate code for the H8S.

`-mn` ¶

  Generate code for the H8S and H8/300H in the normal mode. This switch must be used with either `-mh` or `-ms`.

`-msx` ¶

  Generate H8SX code.

`-ms2600` ¶

  Generate code for the H8S/2600. This switch must be used with `-ms`.

`-mquickcall` ¶

  Use registers for argument passing.

`-mslowbyte` ¶

  Consider access to byte-sized memory slow.

`-mexr` ¶
`-mno-exr`

  Store extended registers on the stack before execution of functions with the `monitor` attribute (see H8/300 Attributes). The default is `-mexr`. This option is valid only for H8S targets.

`-mint32` ¶

  Make `int` data 32 bits by default.

`-malign-300` ¶

  On the H8/300H and H8S, use the same alignment rules as for the H8/300. The default for the H8/300H and H8S is to align longs and floats on 4-byte boundaries. `-malign-300` causes them to be aligned on 2-byte boundaries. This option has no effect on the H8/300.