Node: DEC Alpha Options, Next: DEC Alpha/VMS Options, Previous: Intel 960 Options, Up: Submodel Options
These -m options are defined for the DEC Alpha implementations:
     
-mno-soft-float
     -msoft-float
     -msoft-float is specified,
functions in libgcc.a will be used to perform floating-point
operations.  Unless they are replaced by routines that emulate the
floating-point operations, or compiled in such a way as to call such
emulations routines, these routines will issue floating-point
operations.   If you are compiling for an Alpha without floating-point
operations, you must ensure that the library is built so as not to call
them.
     Note that Alpha implementations without floating-point operations are
required to have floating-point registers.
     
-mfp-reg
     -mno-fp-regs
     -mno-fp-regs implies -msoft-float.  If the floating-point
register set is not used, floating point operands are passed in integer
registers as if they were integers and floating-point results are passed
in $0 instead of $f0.  This is a non-standard calling sequence,
so any function with a floating-point argument or return value called by code
compiled with -mno-fp-regs must also be compiled with that
option.
     A typical use of this option is building a kernel that does not use,
and hence need not save and restore, any floating-point registers.
     
-mieee
     _IEEE_FP is
defined during compilation.  The resulting code is less efficient but is
able to correctly support denormalized numbers and exceptional IEEE
values such as not-a-number and plus/minus infinity.  Other Alpha
compilers call this option -ieee_with_no_inexact.
     -mieee-with-inexact
     -mieee except the generated code also maintains
the IEEE inexact-flag.  Turning on this option causes the
generated code to implement fully-compliant IEEE math.  In addition to
_IEEE_FP, _IEEE_FP_EXACT is defined as a preprocessor
macro.  On some Alpha implementations the resulting code may execute
significantly slower than the code generated by default.  Since there is
very little code that depends on the inexact-flag, you should
normally not specify this option.  Other Alpha compilers call this
option -ieee_with_inexact.
     -mfp-trap-mode=trap-mode-fptm trap-moden
          u
          n, underflow traps are enabled
as well.
          su
          su, but the instructions are marked to be safe for software
completion (see Alpha architecture manual for details).
          sui
          su, but inexact traps are enabled as well. 
-mfp-rounding-mode=rounding-mode-fprm rounding-moden
          m
          c
          d
          d corresponds to round towards plus infinity. 
-mtrap-precision=trap-precisionp
          f
          i
          Other Alpha compilers provide the equivalent options called
-scope_safe and -resumption_safe.
     
-mieee-conformant
     -mtrap-precision=i and either
-mfp-trap-mode=su or -mfp-trap-mode=sui.  Its only effect
is to emit the line .eflag 48 in the function prologue of the
generated assembly file.  Under DEC Unix, this has the effect that
IEEE-conformant math library routines will be linked in.
     -mbuild-constants
     Use this option to require GCC to construct all integer constants using code, even if it takes more instructions (the maximum is six).
You would typically use this option to build a shared library dynamic
loader.  Itself a shared library, it must relocate itself in memory
before it can find the variables and constants in its own data segment.
     
-malpha-as
     -mgas
     -malpha-as) or by the GNU assembler -mgas.
     -mbwx
     -mno-bwx
     -mcix
     -mno-cix
     -mfix
     -mno-fix
     -mmax
     -mno-max
     -mcpu= option or that
of the CPU on which GCC was built if none was specified.
     -mfloat-vax
     -mfloat-ieee
     -mexplicit-relocs
     -mno-explicit-relocs
     -msmall-data
     -mlarge-data
     -mexplicit-relocs is in effect, static data is
accessed via gp-relative relocations.  When -msmall-data
is used, objects 8 bytes long or smaller are placed in a small data area
(the .sdata and .sbss sections) and are accessed via
16-bit relocations off of the $gp register.  This limits the
size of the small data area to 64KB, but allows the variables to be
directly accessed via a single instruction.
     The default is -mlarge-data.  With this option the data area
is limited to just below 2GB.  Programs that require more than 2GB of
data must use malloc or mmap to allocate the data in the
heap instead of in the program's data segment.
     
When generating code for shared libraries, -fpic implies
-msmall-data and -fPIC implies -mlarge-data.
     
-mcpu=cpu_typeEV
style name or the corresponding chip number.  GCC supports scheduling
parameters for the EV4, EV5 and EV6 family of processors and will
choose the default values for the instruction set from the processor
you specify.  If you do not specify a processor type, GCC will default
to the processor on which the compiler was built.
     Supported values for cpu_type are
ev4
          ev45
          21064
          ev5
          21164
          ev56
          21164a
          pca56
          21164pc
          21164PC
          ev6
          21264
          ev67
          21264a
          -mtune=cpu_type-mmemory-latency=timeValid options for time are
L1
          L2
          L3
          main