#### 3.18.18 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 either with `-mh` or `-ms`.

`-ms2600`

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

`-mexr`

  Extended registers are stored on stack before execution of function with monitor attribute. Default option is `-mexr`. This option is valid only for H8S targets.

`-mno-exr`

  Extended registers are not stored on stack before execution of function with monitor attribute. Default option is `-mno-exr`. 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.