-->
Page 195
_mminimum_fp_blocks | Do not include extra scratch space in floating-point data blocks. This results in smaller code, but slower execution, since scratch space must be allocated dynamically. |
_mfp_arg_in_fpregs | Use a calling sequence incompatible with the IBM calling convention in which floating-point arguments are passed in floating-point registers. Note that varargs.h and stdargs.h will not work with floating-point operands if this option is specified. |
_mfp_arg_in_gregs | Use the normal calling convention for floating-point arguments. This is the default. |
_mhc_struct_return | Return structures of more than one word in memory, rather than in a register. This provides compatibility with the MetaWare HighC (hc) compiler. Use _fpcc_struct_return for compatibility with the Portable C Compiler (PCC). |
_mnohc_struct_return | Return some structures of more than one word in registers, when convenient. This is the default. For compatibility with the IBM-supplied compilers, use either _fpcc_struct_return or _mhc_struct_return. |
These _m options are defined for the MIPS family of computers:
_mcpu=cpu-type | Assume the defaults for the machine type cpu-type when scheduling instructions. The default cpu-type is default, which picks the longest cycles times for any of the machines, in order that the code run at reasonable rates on all MIPS CPUs. Other choices for cpu-type are r2000, r3000, r4000,and r6000. While picking a specific cpu-type will schedule things appropriately for that particular chip, the compiler will not generate any code that does not meet level 1 of the MIPS ISA (instruction set architecture) with-out the _mips2 or _mips3 switches being used. |
_mips2 | Issue instructions from level 2 of the MIPS ISA (branch likely, square root instructions). The _mcpu=r4000 or _mcpu=r6000 switch must be used in conjunction with _mips2. |
_mips3 | Issue instructions from level 3 of the MIPS ISA (64-bit instructions). The _mcpu=r4000 switch must be used in conjunction with _mips2. |
_mint64, _mlong64 | These options don't work at present. |
mlonglong128 | |
_mmips_as | Generate code for the MIPS assembler, and invoke mips_tfile to add normal debug information. This is the default for all platforms except for the OSF/1 reference platform, using the OSF/rose object format. If any of the _ggdb, _gstabs, or _gstabs+ switches are used, the mips_tfile program will encapsulate the stabs within MIPS ECOFF. |
_mgas | Generate code for the GNU assembler. This is the default on the OSF/1 reference platform, using the OSF/rose object format. |
_mrnames, _mno_rnames | ,CT he _mrnames switch says to output code using the MIPS software names for the registers, instead of the hardware names (for example, a0 instead of $4). The GNU assembler does not support the _mrnames switch, and the MIPS assembler will be instructed to run the MIPS C preprocessor over the source file. The _mno_rnames switch is default. |
_mgpopt, _mno_gpopt | The _mgpopt switch says to write all of the data declarations before the instructions in the text section, to all the MIPS assembler to generate one-word memory references instead of using two words for short global or static data items. This is on by default if optimization is selected. |
_mstats, _mno_stats | For each noninline function processed, the _mstats switch causes the compiler to emit one line to the standard error file to print statistics about the program (number of registers saved, stack size, and so on). |
_mmemcpy, _mno_memcpy | The _mmemcpy switch makes all block moves call the appropriate string function (memcpy or bcopy) instead of possibly generating inline code. |
_mmips_tfile | The _mno_mips_tfile switch causes the compiler to not post-process the object file with the |
_mno_mips_tfile | mips_tfile program, after the MIPS assembler has generated it to add debug support. If mips_tfile is not run, then no local variables will be available to the debugger. In addition, stage2 and stage3 objects will have the temporary filenames passed to the assembler embedded in the object file, which means the objects will not compare the same. |
_msoft_float | Generate output containing library calls for floating point. |