1; Options for the SPARC port of the compiler
2;
3; Copyright (C) 2005-2013 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
116mcpu=
117Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
118Use features of and schedule code for given CPU
119
120mtune=
121Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
122Schedule code for given CPU
123
124Enum
125Name(sparc_processor_type) Type(enum processor_type)
126
127EnumValue
128Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
129
130EnumValue
131Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
132
133EnumValue
134Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
135
136EnumValue
137Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
138
139EnumValue
140Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
141
142EnumValue
143Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
144
145EnumValue
146Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
147
148EnumValue
149Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
150
151EnumValue
152Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
153
154EnumValue
155Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
156
157EnumValue
158Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
159
160EnumValue
161Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
162
163EnumValue
164Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
165
166EnumValue
167Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
168
169EnumValue
170Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
171
172EnumValue
173Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
174
175EnumValue
176Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
177
178EnumValue
179Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
180
181EnumValue
182Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
183
184EnumValue
185Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
186
187mcmodel=
188Target RejectNegative Joined Var(sparc_cmodel_string)
189Use given SPARC-V9 code model
190
191mdebug=
192Target RejectNegative Joined Var(sparc_debug_string)
193Enable debug output
194
195mstd-struct-return
196Target Report RejectNegative Var(sparc_std_struct_return)
197Enable strict 32-bit psABI struct return checking.
198
199mfix-at697f
200Target Report RejectNegative Var(sparc_fix_at697f)
201Enable workaround for single erratum of AT697F processor
202(corresponding to erratum #13 of AT697E processor)
203
204Mask(LONG_DOUBLE_128)
205;; Use 128-bit long double
206
207Mask(SPARCLITE)
208;; Generate code for SPARClite
209
210Mask(SPARCLET)
211;; Generate code for SPARClet
212
213Mask(V8)
214;; Generate code for SPARC-V8
215
216Mask(V9)
217;; Generate code for SPARC-V9
218
219Mask(DEPRECATED_V8_INSNS)
220;; Generate code that uses the V8 instructions deprecated
221;; in the V9 architecture.
222
223mmemory-model=
224Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT)
225Specify the memory model in effect for the program.
226
227Enum
228Name(sparc_memory_model) Type(enum sparc_memory_model_type)
229
230EnumValue
231Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT)
232
233EnumValue
234Enum(sparc_memory_model) String(rmo) Value(SMM_RMO)
235
236EnumValue
237Enum(sparc_memory_model) String(pso) Value(SMM_PSO)
238
239EnumValue
240Enum(sparc_memory_model) String(tso) Value(SMM_TSO)
241
242EnumValue
243Enum(sparc_memory_model) String(sc) Value(SMM_SC)
244