; Options for the MIPS port of the compiler ; ; Copyright (C) 2005 Free Software Foundation, Inc. ; ; This file is part of GCC. ; ; GCC is free software; you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free ; Software Foundation; either version 2, or (at your option) any later ; version. ; ; GCC is distributed in the hope that it will be useful, but WITHOUT ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ; License for more details. ; ; You should have received a copy of the GNU General Public License ; along with GCC; see the file COPYING. If not, write to the Free ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ; 02110-1301, USA. mabi= Target RejectNegative Joined -mabi=ABI Generate code that conforms to the given ABI mabicalls Target Report Mask(ABICALLS) Generate code that can be used in SVR4-style dynamic objects mad Target Report Var(TARGET_MAD) Use PMC-style 'mad' instructions march= Target RejectNegative Joined Var(mips_arch_string) -march=ISA Generate code for the given ISA mbranch-likely Target Report Mask(BRANCHLIKELY) Use Branch Likely instructions, overriding the architecture default mcheck-zero-division Target Report Mask(CHECK_ZERO_DIV) Trap on integer divide by zero mdivide-breaks Target Report RejectNegative Mask(DIVIDE_BREAKS) Use branch-and-break sequences to check for integer divide by zero mdivide-traps Target Report RejectNegative InverseMask(DIVIDE_BREAKS, DIVIDE_TRAPS) Use trap instructions to check for integer divide by zero mdouble-float Target Report RejectNegative InverseMask(SINGLE_FLOAT, DOUBLE_FLOAT) Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations mdsp Target Report Mask(DSP) Use MIPS-DSP instructions mdebug Target Var(TARGET_DEBUG_MODE) Undocumented mdebugd Target Var(TARGET_DEBUG_D_MODE) Undocumented meb Target Report RejectNegative Mask(BIG_ENDIAN) Use big-endian byte order mel Target Report RejectNegative InverseMask(BIG_ENDIAN, LITTLE_ENDIAN) Use little-endian byte order membedded-data Target Report Var(TARGET_EMBEDDED_DATA) Use ROM instead of RAM mexplicit-relocs Target Report Mask(EXPLICIT_RELOCS) Use NewABI-style %reloc() assembly operators mfix-r4000 Target Report Mask(FIX_R4000) Work around certain R4000 errata mfix-r4400 Target Report Mask(FIX_R4400) Work around certain R4400 errata mfix-sb1 Target Report Var(TARGET_FIX_SB1) Work around errata for early SB-1 revision 2 cores mfix-vr4120 Target Report Var(TARGET_FIX_VR4120) Work around certain VR4120 errata mfix-vr4130 Target Report Var(TARGET_FIX_VR4130) Work around VR4130 mflo/mfhi errata mfix4300 Target Report Var(TARGET_4300_MUL_FIX) Work around an early 4300 hardware bug mfp-exceptions Target Report Mask(FP_EXCEPTIONS) FP exceptions are enabled mfp32 Target Report RejectNegative InverseMask(FLOAT64) Use 32-bit floating-point registers mfp64 Target Report RejectNegative Mask(FLOAT64) Use 64-bit floating-point registers mflush-func= Target RejectNegative Joined Var(mips_cache_flush_func) Init(CACHE_FLUSH_FUNC) -mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines mfused-madd Target Report Mask(FUSED_MADD) Generate floating-point multiply-add instructions mgp32 Target Report RejectNegative InverseMask(64BIT) Use 32-bit general registers mgp64 Target Report RejectNegative Mask(64BIT) Use 64-bit general registers mhard-float Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT) Allow the use of hardware floating-point instructions mips Target RejectNegative Joined -mipsN Generate code for ISA level N mips16 Target Report RejectNegative Mask(MIPS16) Generate mips16 code mips3d Target Report RejectNegative Mask(MIPS3D) Use MIPS-3D instructions mlong-calls Target Report Var(TARGET_LONG_CALLS) Use indirect calls mlong32 Target Report RejectNegative InverseMask(LONG64, LONG32) Use a 32-bit long type mlong64 Target Report RejectNegative Mask(LONG64) Use a 64-bit long type mmemcpy Target Report Var(TARGET_MEMCPY) Don't optimize block moves mmips-tfile Target Use the mips-tfile postpass mno-flush-func Target RejectNegative Do not use a cache-flushing function before calling stack trampolines mno-mips16 Target Report RejectNegative InverseMask(MIPS16) Generate normal-mode code mno-mips3d Target Report RejectNegative InverseMask(MIPS3D) Do not use MIPS-3D instructions mpaired-single Target Report Mask(PAIRED_SINGLE_FLOAT) Use paired-single floating-point instructions mshared Target Report Var(TARGET_SHARED) Init(1) When generating -mabicalls code, make the code suitable for use in shared libraries msingle-float Target Report RejectNegative Mask(SINGLE_FLOAT) Restrict the use of hardware floating-point instructions to 32-bit operations msoft-float Target Report RejectNegative Mask(SOFT_FLOAT) Prevent the use of all hardware floating-point instructions msplit-addresses Target Report Mask(SPLIT_ADDRESSES) Optimize lui/addiu address loads msym32 Target Report Var(TARGET_SYM32) Assume all symbols have 32-bit values mtune= Target RejectNegative Joined Var(mips_tune_string) -mtune=PROCESSOR Optimize the output for PROCESSOR muninit-const-in-rodata Target Report Var(TARGET_UNINIT_CONST_IN_RODATA) Put uninitialized constants in ROM (needs -membedded-data) mvr4130-align Target Report Mask(VR4130_ALIGN) Perform VR4130-specific alignment optimizations mxgot Target Report Var(TARGET_XGOT) Lift restrictions on GOT size