1169689Skan; Options for the MIPS port of the compiler 2169689Skan; 3169689Skan; Copyright (C) 2005 Free Software Foundation, Inc. 4169689Skan; 5169689Skan; This file is part of GCC. 6169689Skan; 7169689Skan; GCC is free software; you can redistribute it and/or modify it under 8169689Skan; the terms of the GNU General Public License as published by the Free 9169689Skan; Software Foundation; either version 2, or (at your option) any later 10169689Skan; version. 11169689Skan; 12169689Skan; GCC is distributed in the hope that it will be useful, but WITHOUT 13169689Skan; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14169689Skan; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15169689Skan; License for more details. 16169689Skan; 17169689Skan; You should have received a copy of the GNU General Public License 18169689Skan; along with GCC; see the file COPYING. If not, write to the Free 19169689Skan; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20169689Skan; 02110-1301, USA. 21169689Skan 22169689Skanmabi= 23169689SkanTarget RejectNegative Joined 24169689Skan-mabi=ABI Generate code that conforms to the given ABI 25169689Skan 26169689Skanmabicalls 27169689SkanTarget Report Mask(ABICALLS) 28169689SkanGenerate code that can be used in SVR4-style dynamic objects 29169689Skan 30169689Skanmad 31169689SkanTarget Report Var(TARGET_MAD) 32169689SkanUse PMC-style 'mad' instructions 33169689Skan 34169689Skanmarch= 35169689SkanTarget RejectNegative Joined Var(mips_arch_string) 36169689Skan-march=ISA Generate code for the given ISA 37169689Skan 38169689Skanmbranch-likely 39169689SkanTarget Report Mask(BRANCHLIKELY) 40169689SkanUse Branch Likely instructions, overriding the architecture default 41169689Skan 42169689Skanmcheck-zero-division 43169689SkanTarget Report Mask(CHECK_ZERO_DIV) 44169689SkanTrap on integer divide by zero 45169689Skan 46169689Skanmdivide-breaks 47169689SkanTarget Report RejectNegative Mask(DIVIDE_BREAKS) 48169689SkanUse branch-and-break sequences to check for integer divide by zero 49169689Skan 50169689Skanmdivide-traps 51169689SkanTarget Report RejectNegative InverseMask(DIVIDE_BREAKS, DIVIDE_TRAPS) 52169689SkanUse trap instructions to check for integer divide by zero 53169689Skan 54169689Skanmdouble-float 55169689SkanTarget Report RejectNegative InverseMask(SINGLE_FLOAT, DOUBLE_FLOAT) 56169689SkanAllow hardware floating-point instructions to cover both 32-bit and 64-bit operations 57169689Skan 58169689Skanmdsp 59169689SkanTarget Report Mask(DSP) 60169689SkanUse MIPS-DSP instructions 61169689Skan 62169689Skanmdebug 63169689SkanTarget Var(TARGET_DEBUG_MODE) Undocumented 64169689Skan 65169689Skanmdebugd 66169689SkanTarget Var(TARGET_DEBUG_D_MODE) Undocumented 67169689Skan 68169689Skanmeb 69169689SkanTarget Report RejectNegative Mask(BIG_ENDIAN) 70169689SkanUse big-endian byte order 71169689Skan 72169689Skanmel 73169689SkanTarget Report RejectNegative InverseMask(BIG_ENDIAN, LITTLE_ENDIAN) 74169689SkanUse little-endian byte order 75169689Skan 76169689Skanmembedded-data 77169689SkanTarget Report Var(TARGET_EMBEDDED_DATA) 78169689SkanUse ROM instead of RAM 79169689Skan 80169689Skanmexplicit-relocs 81169689SkanTarget Report Mask(EXPLICIT_RELOCS) 82169689SkanUse NewABI-style %reloc() assembly operators 83169689Skan 84169689Skanmfix-r4000 85169689SkanTarget Report Mask(FIX_R4000) 86169689SkanWork around certain R4000 errata 87169689Skan 88169689Skanmfix-r4400 89169689SkanTarget Report Mask(FIX_R4400) 90169689SkanWork around certain R4400 errata 91169689Skan 92169689Skanmfix-sb1 93169689SkanTarget Report Var(TARGET_FIX_SB1) 94169689SkanWork around errata for early SB-1 revision 2 cores 95169689Skan 96169689Skanmfix-vr4120 97169689SkanTarget Report Var(TARGET_FIX_VR4120) 98169689SkanWork around certain VR4120 errata 99169689Skan 100169689Skanmfix-vr4130 101169689SkanTarget Report Var(TARGET_FIX_VR4130) 102169689SkanWork around VR4130 mflo/mfhi errata 103169689Skan 104169689Skanmfix4300 105169689SkanTarget Report Var(TARGET_4300_MUL_FIX) 106169689SkanWork around an early 4300 hardware bug 107169689Skan 108169689Skanmfp-exceptions 109169689SkanTarget Report Mask(FP_EXCEPTIONS) 110169689SkanFP exceptions are enabled 111169689Skan 112169689Skanmfp32 113169689SkanTarget Report RejectNegative InverseMask(FLOAT64) 114169689SkanUse 32-bit floating-point registers 115169689Skan 116169689Skanmfp64 117169689SkanTarget Report RejectNegative Mask(FLOAT64) 118169689SkanUse 64-bit floating-point registers 119169689Skan 120169689Skanmflush-func= 121169689SkanTarget RejectNegative Joined Var(mips_cache_flush_func) Init(CACHE_FLUSH_FUNC) 122169689Skan-mflush-func=FUNC Use FUNC to flush the cache before calling stack trampolines 123169689Skan 124169689Skanmfused-madd 125169689SkanTarget Report Mask(FUSED_MADD) 126169689SkanGenerate floating-point multiply-add instructions 127169689Skan 128169689Skanmgp32 129169689SkanTarget Report RejectNegative InverseMask(64BIT) 130169689SkanUse 32-bit general registers 131169689Skan 132169689Skanmgp64 133169689SkanTarget Report RejectNegative Mask(64BIT) 134169689SkanUse 64-bit general registers 135169689Skan 136169689Skanmhard-float 137169689SkanTarget Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT) 138169689SkanAllow the use of hardware floating-point instructions 139169689Skan 140169689Skanmips 141169689SkanTarget RejectNegative Joined 142169689Skan-mipsN Generate code for ISA level N 143169689Skan 144169689Skanmips16 145169689SkanTarget Report RejectNegative Mask(MIPS16) 146169689SkanGenerate mips16 code 147169689Skan 148169689Skanmips3d 149169689SkanTarget Report RejectNegative Mask(MIPS3D) 150169689SkanUse MIPS-3D instructions 151169689Skan 152169689Skanmlong-calls 153169689SkanTarget Report Var(TARGET_LONG_CALLS) 154169689SkanUse indirect calls 155169689Skan 156169689Skanmlong32 157169689SkanTarget Report RejectNegative InverseMask(LONG64, LONG32) 158169689SkanUse a 32-bit long type 159169689Skan 160169689Skanmlong64 161169689SkanTarget Report RejectNegative Mask(LONG64) 162169689SkanUse a 64-bit long type 163169689Skan 164169689Skanmmemcpy 165169689SkanTarget Report Var(TARGET_MEMCPY) 166169689SkanDon't optimize block moves 167169689Skan 168169689Skanmmips-tfile 169169689SkanTarget 170169689SkanUse the mips-tfile postpass 171169689Skan 172169689Skanmno-flush-func 173169689SkanTarget RejectNegative 174169689SkanDo not use a cache-flushing function before calling stack trampolines 175169689Skan 176169689Skanmno-mips16 177169689SkanTarget Report RejectNegative InverseMask(MIPS16) 178169689SkanGenerate normal-mode code 179169689Skan 180169689Skanmno-mips3d 181169689SkanTarget Report RejectNegative InverseMask(MIPS3D) 182169689SkanDo not use MIPS-3D instructions 183169689Skan 184169689Skanmpaired-single 185169689SkanTarget Report Mask(PAIRED_SINGLE_FLOAT) 186169689SkanUse paired-single floating-point instructions 187169689Skan 188169689Skanmshared 189169689SkanTarget Report Var(TARGET_SHARED) Init(1) 190169689SkanWhen generating -mabicalls code, make the code suitable for use in shared libraries 191169689Skan 192169689Skanmsingle-float 193169689SkanTarget Report RejectNegative Mask(SINGLE_FLOAT) 194169689SkanRestrict the use of hardware floating-point instructions to 32-bit operations 195169689Skan 196169689Skanmsoft-float 197169689SkanTarget Report RejectNegative Mask(SOFT_FLOAT) 198169689SkanPrevent the use of all hardware floating-point instructions 199169689Skan 200169689Skanmsplit-addresses 201169689SkanTarget Report Mask(SPLIT_ADDRESSES) 202169689SkanOptimize lui/addiu address loads 203169689Skan 204169689Skanmsym32 205169689SkanTarget Report Var(TARGET_SYM32) 206169689SkanAssume all symbols have 32-bit values 207169689Skan 208169689Skanmtune= 209169689SkanTarget RejectNegative Joined Var(mips_tune_string) 210169689Skan-mtune=PROCESSOR Optimize the output for PROCESSOR 211169689Skan 212169689Skanmuninit-const-in-rodata 213169689SkanTarget Report Var(TARGET_UNINIT_CONST_IN_RODATA) 214169689SkanPut uninitialized constants in ROM (needs -membedded-data) 215169689Skan 216169689Skanmvr4130-align 217169689SkanTarget Report Mask(VR4130_ALIGN) 218169689SkanPerform VR4130-specific alignment optimizations 219169689Skan 220169689Skanmxgot 221169689SkanTarget Report Var(TARGET_XGOT) 222169689SkanLift restrictions on GOT size 223