Node: S/390 and zSeries Options, Next: , Previous: D30V Options, Up: Submodel 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 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.