1; Options for the SPARC port of the compiler
2;
3; Copyright (C) 2005-2015 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
76mcbcond
77Target Report Mask(CBCOND)
78Use UltraSPARC Compare-and-Branch extensions
79
80mfmaf
81Target Report Mask(FMAF)
82Use UltraSPARC Fused Multiply-Add extensions
83
84mpopc
85Target Report Mask(POPC)
86Use UltraSPARC Population-Count instruction
87
88mptr64
89Target Report RejectNegative Mask(PTR64)
90Pointers are 64-bit
91
92mptr32
93Target Report RejectNegative InverseMask(PTR64)
94Pointers are 32-bit
95
96m64
97Target Report RejectNegative Mask(64BIT)
98Use 64-bit ABI
99
100m32
101Target Report RejectNegative InverseMask(64BIT)
102Use 32-bit ABI
103
104mstack-bias
105Target Report Mask(STACK_BIAS)
106Use stack bias
107
108mfaster-structs
109Target Report Mask(FASTER_STRUCTS)
110Use structs on stronger alignment for double-word copies
111
112mrelax
113Target
114Optimize tail call instructions in assembler and linker
115
116muser-mode
117Target Report InverseMask(SV_MODE)
118Do not generate code that can only run in supervisor mode (default)
119
120mcpu=
121Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
122Use features of and schedule code for given CPU
123
124mtune=
125Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
126Schedule code for given CPU
127
128Enum
129Name(sparc_processor_type) Type(enum processor_type)
130
131EnumValue
132Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
133
134EnumValue
135Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
136
137EnumValue
138Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
139
140EnumValue
141Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
142
143EnumValue
144Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
145
146EnumValue
147Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
148
149EnumValue
150Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
151
152EnumValue
153Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3)
154
155EnumValue
156Enum(sparc_processor_type) String(leon3v7) Value(PROCESSOR_LEON3V7)
157
158EnumValue
159Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
160
161EnumValue
162Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
163
164EnumValue
165Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
166
167EnumValue
168Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
169
170EnumValue
171Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
172
173EnumValue
174Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
175
176EnumValue
177Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
178
179EnumValue
180Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
181
182EnumValue
183Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
184
185EnumValue
186Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
187
188EnumValue
189Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
190
191EnumValue
192Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
193
194EnumValue
195Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
196
197mcmodel=
198Target RejectNegative Joined Var(sparc_cmodel_string)
199Use given SPARC-V9 code model
200
201mdebug=
202Target RejectNegative Joined Var(sparc_debug_string)
203Enable debug output
204
205mstd-struct-return
206Target Report RejectNegative Var(sparc_std_struct_return)
207Enable strict 32-bit psABI struct return checking.
208
209mfix-at697f
210Target Report RejectNegative Var(sparc_fix_at697f)
211Enable workaround for single erratum of AT697F processor
212(corresponding to erratum #13 of AT697E processor)
213
214mfix-ut699
215Target Report RejectNegative Var(sparc_fix_ut699)
216Enable workarounds for the errata of the UT699 processor
217
218Mask(LONG_DOUBLE_128)
219;; Use 128-bit long double
220
221Mask(LEON)
222;; Generate code for LEON
223
224Mask(LEON3)
225;; Generate code for LEON3
226
227Mask(SPARCLITE)
228;; Generate code for SPARClite
229
230Mask(SPARCLET)
231;; Generate code for SPARClet
232
233Mask(V8)
234;; Generate code for SPARC-V8
235
236Mask(V9)
237;; Generate code for SPARC-V9
238
239Mask(DEPRECATED_V8_INSNS)
240;; Generate code that uses the V8 instructions deprecated
241;; in the V9 architecture.
242
243mmemory-model=
244Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT)
245Specify the memory model in effect for the program.
246
247Enum
248Name(sparc_memory_model) Type(enum sparc_memory_model_type)
249
250EnumValue
251Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT)
252
253EnumValue
254Enum(sparc_memory_model) String(rmo) Value(SMM_RMO)
255
256EnumValue
257Enum(sparc_memory_model) String(pso) Value(SMM_PSO)
258
259EnumValue
260Enum(sparc_memory_model) String(tso) Value(SMM_TSO)
261
262EnumValue
263Enum(sparc_memory_model) String(sc) Value(SMM_SC)
264