Merge branches/gcc-4_8-branch rev 210799.
[official-gcc.git] / gcc-4_8-branch / gcc / config / sparc / sparc.opt
blob9de981b85f7f216eadf83b579d795c39127a7825
1 ; Options for the SPARC port of the compiler
3 ; Copyright (C) 2005-2013 Free Software Foundation, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 3, or (at your option) any later
10 ; version.
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT
13 ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 ; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15 ; License for more details.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3.  If not see
19 ; <http://www.gnu.org/licenses/>.
21 HeaderInclude
22 config/sparc/sparc-opts.h
24 ;; Debug flags
25 TargetVariable
26 unsigned int sparc_debug
28 mfpu
29 Target Report Mask(FPU)
30 Use hardware FP
32 mhard-float
33 Target RejectNegative Mask(FPU)
34 Use hardware FP
36 msoft-float
37 Target RejectNegative InverseMask(FPU)
38 Do not use hardware FP
40 mflat
41 Target Report Mask(FLAT)
42 Use flat register window model
44 munaligned-doubles
45 Target Report Mask(UNALIGNED_DOUBLES)
46 Assume possible double misalignment
48 mapp-regs
49 Target Report Mask(APP_REGS)
50 Use ABI reserved registers
52 mhard-quad-float
53 Target Report RejectNegative Mask(HARD_QUAD)
54 Use hardware quad FP instructions
56 msoft-quad-float
57 Target Report RejectNegative InverseMask(HARD_QUAD)
58 Do not use hardware quad fp instructions
60 mv8plus
61 Target Report Mask(V8PLUS)
62 Compile for V8+ ABI
64 mvis
65 Target Report Mask(VIS)
66 Use UltraSPARC Visual Instruction Set version 1.0 extensions
68 mvis2
69 Target Report Mask(VIS2)
70 Use UltraSPARC Visual Instruction Set version 2.0 extensions
72 mvis3
73 Target Report Mask(VIS3)
74 Use UltraSPARC Visual Instruction Set version 3.0 extensions
76 mcbcond
77 Target Report Mask(CBCOND)
78 Use UltraSPARC Compare-and-Branch extensions
80 mfmaf
81 Target Report Mask(FMAF)
82 Use UltraSPARC Fused Multiply-Add extensions
84 mpopc
85 Target Report Mask(POPC)
86 Use UltraSPARC Population-Count instruction
88 mptr64
89 Target Report RejectNegative Mask(PTR64)
90 Pointers are 64-bit
92 mptr32
93 Target Report RejectNegative InverseMask(PTR64)
94 Pointers are 32-bit
96 m64
97 Target Report RejectNegative Mask(64BIT)
98 Use 64-bit ABI
101 Target Report RejectNegative InverseMask(64BIT)
102 Use 32-bit ABI
104 mstack-bias
105 Target Report Mask(STACK_BIAS)
106 Use stack bias
108 mfaster-structs
109 Target Report Mask(FASTER_STRUCTS)
110 Use structs on stronger alignment for double-word copies
112 mrelax
113 Target
114 Optimize tail call instructions in assembler and linker
116 muser-mode
117 Target Report Mask(USER_MODE)
118 Do not generate code that can only run in supervisor mode
120 mcpu=
121 Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
122 Use features of and schedule code for given CPU
124 mtune=
125 Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
126 Schedule code for given CPU
128 Enum
129 Name(sparc_processor_type) Type(enum processor_type)
131 EnumValue
132 Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
134 EnumValue
135 Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
137 EnumValue
138 Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
140 EnumValue
141 Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
143 EnumValue
144 Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
146 EnumValue
147 Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
149 EnumValue
150 Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
152 EnumValue
153 Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3)
155 EnumValue
156 Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
158 EnumValue
159 Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
161 EnumValue
162 Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
164 EnumValue
165 Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
167 EnumValue
168 Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
170 EnumValue
171 Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
173 EnumValue
174 Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
176 EnumValue
177 Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
179 EnumValue
180 Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
182 EnumValue
183 Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
185 EnumValue
186 Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
188 EnumValue
189 Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
191 EnumValue
192 Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
194 mcmodel=
195 Target RejectNegative Joined Var(sparc_cmodel_string)
196 Use given SPARC-V9 code model
198 mdebug=
199 Target RejectNegative Joined Var(sparc_debug_string)
200 Enable debug output
202 mstd-struct-return
203 Target Report RejectNegative Var(sparc_std_struct_return)
204 Enable strict 32-bit psABI struct return checking.
206 mfix-at697f
207 Target Report RejectNegative Var(sparc_fix_at697f)
208 Enable workaround for single erratum of AT697F processor
209 (corresponding to erratum #13 of AT697E processor)
211 mfix-ut699
212 Target Report RejectNegative Var(sparc_fix_ut699)
213 Enable workarounds for the errata of the UT699 processor
215 Mask(LONG_DOUBLE_128)
216 ;; Use 128-bit long double
218 Mask(LEON)
219 ;; Generate code for LEON
221 Mask(LEON3)
222 ;; Generate code for LEON3
224 Mask(SPARCLITE)
225 ;; Generate code for SPARClite
227 Mask(SPARCLET)
228 ;; Generate code for SPARClet
230 Mask(V8)
231 ;; Generate code for SPARC-V8
233 Mask(V9)
234 ;; Generate code for SPARC-V9
236 Mask(DEPRECATED_V8_INSNS)
237 ;; Generate code that uses the V8 instructions deprecated
238 ;; in the V9 architecture.
240 mmemory-model=
241 Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT)
242 Specify the memory model in effect for the program.
244 Enum
245 Name(sparc_memory_model) Type(enum sparc_memory_model_type)
247 EnumValue
248 Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT)
250 EnumValue
251 Enum(sparc_memory_model) String(rmo) Value(SMM_RMO)
253 EnumValue
254 Enum(sparc_memory_model) String(pso) Value(SMM_PSO)
256 EnumValue
257 Enum(sparc_memory_model) String(tso) Value(SMM_TSO)
259 EnumValue
260 Enum(sparc_memory_model) String(sc) Value(SMM_SC)