3.17.30 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 specified,
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.