These `-m' options are defined for the HPPA family of computers:
-march=architecture type
Generate code for the specified architecture. The choices for
architecture type are `1.0' for PA 1.0, `1.1' for PA
1.1, and `2.0' for PA 2.0 processors. Refer to
`/usr/lib/sched.models' on an HP-UX system to determine the proper
architecture option for your machine. Code compiled for lower numbered
architectures will run on higher numbered architectures, but not the
other way around.
PA 2.0 support currently requires gas snapshot 19990413 or later. The
next release of binutils (current is 2.9.1) will probably contain PA 2.0
support.
-mpa-risc-1-0
-mpa-risc-1-1
-mpa-risc-2-0
Synonyms for -march=1.0, -march=1.1, and -march=2.0 respectively.
-mbig-switch
Generate code suitable for big switch tables. Use this option only if
the assembler/linker complain about out of range branches within a switch
table.
-mjump-in-delay
Fill delay slots of function calls with unconditional jump instructions
by modifying the return pointer for the function call to be the target
of the conditional jump.
-mdisable-fpregs
Prevent floating point registers from being used in any manner. This is
necessary for compiling kernels which perform lazy context switching of
floating point registers. If you use this option and attempt to perform
floating point operations, the compiler will abort.
-mdisable-indexing
Prevent the compiler from using indexing address modes. This avoids some
rather obscure problems when compiling MIG generated code under MACH.
-mno-space-regs
Generate code that assumes the target has no space registers. This allows
GCC to generate faster indirect calls and use unscaled index address modes.
Such code is suitable for level 0 PA systems and kernels.
-mfast-indirect-calls
Generate code that assumes calls never cross space boundaries. This
allows GCC to emit code which performs faster indirect calls.
This option will not work in the presense of shared libraries or nested
functions.
-mspace
Optimize for space rather than execution time. Currently this only
enables out of line function prologues and epilogues. This option is
incompatible with PIC code generation and profiling.
-mlong-load-store
Generate 3-instruction load and store sequences as sometimes required by
the HP-UX 10 linker. This is equivalent to the `+k' option to
the HP compilers.
-mportable-runtime
Use the portable calling conventions proposed by HP for ELF systems.
-mgas
Enable the use of assembler directives only GAS understands.
-mschedule=cpu type
Schedule code according to the constraints for the machine type
cpu type. The choices for cpu type are `700'
`7100', `7100LC', `7200', and `8000'. Refer to
`/usr/lib/sched.models' on an HP-UX system to determine the
proper scheduling option for your machine.
-mlinker-opt
Enable the optimization pass in the HPUX linker. Note this makes symbolic
debugging impossible. It also triggers a bug in the HPUX 8 and HPUX 9 linkers
in which they give bogus error messages when linking some programs.
-msoft-float
Generate output containing library calls for floating point.
Warning: the requisite libraries are not available for all HPPA
targets. Normally the facilities of the machine's usual C compiler are
used, but this cannot be done directly in cross-compilation. You must make
your own arrangements to provide suitable library functions for
cross-compilation. The embedded target `hppa1.1-*-pro'
does provide software floating point support.
`-msoft-float' changes the calling convention in the output file;
therefore, it is only useful if you compile all of a program with
this option. In particular, you need to compile `libgcc.a', the
library that comes with GCC, with `-msoft-float' in order for
this to work.