These are the -m options defined for the S/390 and zSeries architecture.
-mhard-float
-msoft-float
-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
-msmall-exec
-mno-small-exec
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
-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.
-mzarch
-mesa
-mzarch is specified, generate code using the
instructions available on z/Architecture.
When -mesa is specified, generate code using the
instructions available on ESA/390. Note that -mesa is
not possible with -m64.
For the s390 targets, the default is -mesa,
while the s390x targets default to -mzarch.
-mmvcle
-mno-mvcle
mvcle instruction
to perform block moves. When -mno-mvcle is specified,
use a mvc loop instead. This is the default.
-mdebug
-mno-debug
-march=arch
g5, g6 and z900.
-mcpu=arch
-march.