sparc.opt revision 1.6
1; Options for the SPARC port of the compiler
2;
3; Copyright (C) 2005-2016 Free Software Foundation, Inc.
4;
5; This file is part of GCC.
6;
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.
11;
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.
16;
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/>.
20
21HeaderInclude
22config/sparc/sparc-opts.h
23
24;; Debug flags
25TargetVariable
26unsigned int sparc_debug
27
28mfpu
29Target Report Mask(FPU)
30Use hardware FP.
31
32mhard-float
33Target RejectNegative Mask(FPU)
34Use hardware FP.
35
36msoft-float
37Target RejectNegative InverseMask(FPU)
38Do not use hardware FP.
39
40mflat
41Target Report Mask(FLAT)
42Use flat register window model.
43
44munaligned-doubles
45Target Report Mask(UNALIGNED_DOUBLES)
46Assume possible double misalignment.
47
48mapp-regs
49Target Report Mask(APP_REGS)
50Use ABI reserved registers.
51
52mhard-quad-float
53Target Report RejectNegative Mask(HARD_QUAD)
54Use hardware quad FP instructions.
55
56msoft-quad-float
57Target Report RejectNegative InverseMask(HARD_QUAD)
58Do not use hardware quad fp instructions.
59
60mv8plus
61Target Report Mask(V8PLUS)
62Compile for V8+ ABI.
63
64mvis
65Target Report Mask(VIS)
66Use UltraSPARC Visual Instruction Set version 1.0 extensions.
67
68mvis2
69Target Report Mask(VIS2)
70Use UltraSPARC Visual Instruction Set version 2.0 extensions.
71
72mvis3
73Target Report Mask(VIS3)
74Use UltraSPARC Visual Instruction Set version 3.0 extensions.
75
76mvis4
77Target Report Mask(VIS4)
78Use UltraSPARC Visual Instruction Set version 4.0 extensions.
79
80mcbcond
81Target Report Mask(CBCOND)
82Use UltraSPARC Compare-and-Branch extensions.
83
84mfmaf
85Target Report Mask(FMAF)
86Use UltraSPARC Fused Multiply-Add extensions.
87
88mpopc
89Target Report Mask(POPC)
90Use UltraSPARC Population-Count instruction.
91
92mptr64
93Target Report RejectNegative Mask(PTR64)
94Pointers are 64-bit.
95
96mptr32
97Target Report RejectNegative InverseMask(PTR64)
98Pointers are 32-bit.
99
100m64
101Target Report RejectNegative Mask(64BIT)
102Use 64-bit ABI.
103
104m32
105Target Report RejectNegative InverseMask(64BIT)
106Use 32-bit ABI.
107
108mstack-bias
109Target Report Mask(STACK_BIAS)
110Use stack bias.
111
112mfaster-structs
113Target Report Mask(FASTER_STRUCTS)
114Use structs on stronger alignment for double-word copies.
115
116mrelax
117Target
118Optimize tail call instructions in assembler and linker.
119
120muser-mode
121Target Report InverseMask(SV_MODE)
122Do not generate code that can only run in supervisor mode (default).
123
124mcpu=
125Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
126Use features of and schedule code for given CPU.
127
128mtune=
129Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
130Schedule code for given CPU.
131
132Enum
133Name(sparc_processor_type) Type(enum processor_type)
134
135EnumValue
136Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
137
138EnumValue
139Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
140
141EnumValue
142Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
143
144EnumValue
145Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
146
147EnumValue
148Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
149
150EnumValue
151Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
152
153EnumValue
154Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
155
156EnumValue
157Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3)
158
159EnumValue
160Enum(sparc_processor_type) String(leon3v7) Value(PROCESSOR_LEON3V7)
161
162EnumValue
163Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
164
165EnumValue
166Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
167
168EnumValue
169Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
170
171EnumValue
172Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
173
174EnumValue
175Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
176
177EnumValue
178Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
179
180EnumValue
181Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
182
183EnumValue
184Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
185
186EnumValue
187Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
188
189EnumValue
190Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
191
192EnumValue
193Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
194
195EnumValue
196Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
197
198EnumValue
199Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
200
201EnumValue
202Enum(sparc_processor_type) String(niagara7) Value(PROCESSOR_NIAGARA7)
203
204mcmodel=
205Target RejectNegative Joined Var(sparc_cmodel_string)
206Use given SPARC-V9 code model.
207
208mdebug=
209Target RejectNegative Joined Var(sparc_debug_string)
210Enable debug output.
211
212mstd-struct-return
213Target Report Var(sparc_std_struct_return)
214Enable strict 32-bit psABI struct return checking.
215
216mfix-at697f
217Target Report RejectNegative Var(sparc_fix_at697f)
218Enable workaround for single erratum of AT697F processor
219(corresponding to erratum #13 of AT697E processor).
220
221mfix-ut699
222Target Report RejectNegative Var(sparc_fix_ut699)
223Enable workarounds for the errata of the UT699 processor.
224
225Mask(LONG_DOUBLE_128)
226;; Use 128-bit long double
227
228Mask(LEON)
229;; Generate code for LEON
230
231Mask(LEON3)
232;; Generate code for LEON3
233
234Mask(SPARCLITE)
235;; Generate code for SPARClite
236
237Mask(SPARCLET)
238;; Generate code for SPARClet
239
240Mask(V8)
241;; Generate code for SPARC-V8
242
243Mask(V9)
244;; Generate code for SPARC-V9
245
246Mask(DEPRECATED_V8_INSNS)
247;; Generate code that uses the V8 instructions deprecated
248;; in the V9 architecture.
249
250mmemory-model=
251Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT)
252Specify the memory model in effect for the program.
253
254Enum
255Name(sparc_memory_model) Type(enum sparc_memory_model_type)
256
257EnumValue
258Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT)
259
260EnumValue
261Enum(sparc_memory_model) String(rmo) Value(SMM_RMO)
262
263EnumValue
264Enum(sparc_memory_model) String(pso) Value(SMM_PSO)
265
266EnumValue
267Enum(sparc_memory_model) String(tso) Value(SMM_TSO)
268
269EnumValue
270Enum(sparc_memory_model) String(sc) Value(SMM_SC)
271