Info Node: (gcc-300.info)S/390 and zSeries Options
(gcc-300.info)S/390 and zSeries Options
S/390 and zSeries Options
-------------------------
These are the `-m' options defined for the S/390 and zSeries
architecture.
`-mhard-float'
`-msoft-float'
Use (do not use) the hardware floating-point instructions and
registers for floating-point operations. When `-msoft-float' is
specified, functions in `libgcc.a' will be used to perform
floating-point operations. When `-mhard-float' is specified, the
compiler generates IEEE floating-point instructions. This is the
default.
`-mbackchain'
`-mno-backchain'
Generate (or do not generate) code which maintains an explicit
backchain within the stack frame that points to the caller's frame.
This is currently needed to allow debugging. The default is to
generate the backchain.
`-msmall-exec'
`-mno-small-exec'
Generate (or do not generate) code using the `bras' instruction to
do subroutine calls. This only works reliably if the total
executable size does not exceed 64k. The default is to use the
`basr' instruction instead, which does not have this limitation.
`-m64'
`-m31'
When `-m31' is specified, generate code compliant to the Linux for
S/390 ABI. When `-m64' is specified, generate code compliant to
the Linux for zSeries ABI. This allows GCC in particular to
generate 64-bit instructions. For the `s390' targets, the default
is `-m31', while the `s390x' targets default to `-m64'.
`-mmvcle'
`-mno-mvcle'
Generate (or do not generate) code using the `mvcle' instruction
to perform block moves. When `-mno-mvcle' is specifed, use a
`mvc' loop instead. This is the default.
`-mdebug'
`-mno-debug'
Print (or do not print) additional debug information when
compiling. The default is to not print debug information.