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