]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/sparc/sparc.opt
sparc: support for the SPARC M7 and VIS 4.0
[thirdparty/gcc.git] / gcc / config / sparc / sparc.opt
CommitLineData
fe609b0f
EB
1; Options for the SPARC port of the compiler
2;
818ab71a 3; Copyright (C) 2005-2016 Free Software Foundation, Inc.
fe609b0f
EB
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
2f83c7d6 9; Software Foundation; either version 3, or (at your option) any later
fe609b0f
EB
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
2f83c7d6
NC
18; along with GCC; see the file COPYING3. If not see
19; <http://www.gnu.org/licenses/>.
fe609b0f 20
aa53e58b
JM
21HeaderInclude
22config/sparc/sparc-opts.h
23
a0bd60d1
DM
24;; Debug flags
25TargetVariable
26unsigned int sparc_debug
27
fe609b0f
EB
28mfpu
29Target Report Mask(FPU)
a7b2e184 30Use hardware FP.
fe609b0f
EB
31
32mhard-float
719e1e80 33Target RejectNegative Mask(FPU)
a7b2e184 34Use hardware FP.
fe609b0f
EB
35
36msoft-float
37Target RejectNegative InverseMask(FPU)
a7b2e184 38Do not use hardware FP.
fe609b0f 39
b11b0904
EB
40mflat
41Target Report Mask(FLAT)
a7b2e184 42Use flat register window model.
b11b0904 43
fe609b0f
EB
44munaligned-doubles
45Target Report Mask(UNALIGNED_DOUBLES)
a7b2e184 46Assume possible double misalignment.
fe609b0f 47
fe609b0f
EB
48mapp-regs
49Target Report Mask(APP_REGS)
a7b2e184 50Use ABI reserved registers.
fe609b0f
EB
51
52mhard-quad-float
53Target Report RejectNegative Mask(HARD_QUAD)
a7b2e184 54Use hardware quad FP instructions.
fe609b0f
EB
55
56msoft-quad-float
57Target Report RejectNegative InverseMask(HARD_QUAD)
a7b2e184 58Do not use hardware quad fp instructions.
fe609b0f
EB
59
60mv8plus
61Target Report Mask(V8PLUS)
a7b2e184 62Compile for V8+ ABI.
fe609b0f
EB
63
64mvis
65Target Report Mask(VIS)
a7b2e184 66Use UltraSPARC Visual Instruction Set version 1.0 extensions.
c4728c6b
DM
67
68mvis2
69Target Report Mask(VIS2)
a7b2e184 70Use UltraSPARC Visual Instruction Set version 2.0 extensions.
fe609b0f 71
96d7b15f
DM
72mvis3
73Target Report Mask(VIS3)
a7b2e184 74Use UltraSPARC Visual Instruction Set version 3.0 extensions.
96d7b15f 75
690f24b7
JM
76mvis4
77Target Report Mask(VIS4)
78Use UltraSPARC Visual Instruction Set version 4.0 extensions.
79
8b98b5fd
DM
80mcbcond
81Target Report Mask(CBCOND)
a7b2e184 82Use UltraSPARC Compare-and-Branch extensions.
8b98b5fd 83
e8b141b5
DM
84mfmaf
85Target Report Mask(FMAF)
a7b2e184 86Use UltraSPARC Fused Multiply-Add extensions.
e8b141b5 87
dc78280f
DM
88mpopc
89Target Report Mask(POPC)
a7b2e184 90Use UltraSPARC Population-Count instruction.
dc78280f 91
fe609b0f
EB
92mptr64
93Target Report RejectNegative Mask(PTR64)
a7b2e184 94Pointers are 64-bit.
fe609b0f
EB
95
96mptr32
97Target Report RejectNegative InverseMask(PTR64)
a7b2e184 98Pointers are 32-bit.
fe609b0f
EB
99
100m64
101Target Report RejectNegative Mask(64BIT)
a7b2e184 102Use 64-bit ABI.
fe609b0f
EB
103
104m32
105Target Report RejectNegative InverseMask(64BIT)
a7b2e184 106Use 32-bit ABI.
fe609b0f
EB
107
108mstack-bias
109Target Report Mask(STACK_BIAS)
a7b2e184 110Use stack bias.
fe609b0f
EB
111
112mfaster-structs
113Target Report Mask(FASTER_STRUCTS)
a7b2e184 114Use structs on stronger alignment for double-word copies.
fe609b0f
EB
115
116mrelax
117Target
a7b2e184 118Optimize tail call instructions in assembler and linker.
fe609b0f 119
ba21a04a 120muser-mode
a01a33a2 121Target Report InverseMask(SV_MODE)
a7b2e184 122Do not generate code that can only run in supervisor mode (default).
ba21a04a 123
fe609b0f 124mcpu=
023592aa 125Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
a7b2e184 126Use features of and schedule code for given CPU.
fe609b0f
EB
127
128mtune=
023592aa 129Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
a7b2e184 130Schedule code for given CPU.
fe609b0f 131
aa53e58b
JM
132Enum
133Name(sparc_processor_type) Type(enum processor_type)
134
e3b3fa45
RO
135EnumValue
136Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
137
aa53e58b
JM
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
38ae58ca
EB
156EnumValue
157Enum(sparc_processor_type) String(leon3) Value(PROCESSOR_LEON3)
158
d81230b5
DH
159EnumValue
160Enum(sparc_processor_type) String(leon3v7) Value(PROCESSOR_LEON3V7)
161
aa53e58b
JM
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
3e64c239
DM
195EnumValue
196Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
197
198EnumValue
199Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
200
690f24b7
JM
201EnumValue
202Enum(sparc_processor_type) String(niagara7) Value(PROCESSOR_NIAGARA7)
203
fe609b0f 204mcmodel=
55bea00a 205Target RejectNegative Joined Var(sparc_cmodel_string)
a7b2e184 206Use given SPARC-V9 code model.
fe609b0f 207
a0bd60d1
DM
208mdebug=
209Target RejectNegative Joined Var(sparc_debug_string)
a7b2e184 210Enable debug output.
a0bd60d1 211
2225b57c 212mstd-struct-return
9250444b 213Target Report Var(sparc_std_struct_return)
2225b57c 214Enable strict 32-bit psABI struct return checking.
fe609b0f 215
c49c4c85
EB
216mfix-at697f
217Target Report RejectNegative Var(sparc_fix_at697f)
218Enable workaround for single erratum of AT697F processor
cad669df 219(corresponding to erratum #13 of AT697E processor).
c49c4c85 220
5c3eacbb
EB
221mfix-ut699
222Target Report RejectNegative Var(sparc_fix_ut699)
a7b2e184 223Enable workarounds for the errata of the UT699 processor.
5c3eacbb 224
fe609b0f
EB
225Mask(LONG_DOUBLE_128)
226;; Use 128-bit long double
227
1f65ae7a
EB
228Mask(LEON)
229;; Generate code for LEON
230
231Mask(LEON3)
232;; Generate code for LEON3
233
fe609b0f
EB
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.
2e65f38f
RH
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)