#### 3.17.15 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, 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.