1 ; Options for the SPARC port of the compiler
3 ; Copyright (C) 2005, 2007, 2010, 2011 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
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/>.
22 config/sparc/sparc-opts.h
26 unsigned int sparc_debug
29 Target Report Mask(FPU)
33 Target RejectNegative Mask(FPU)
37 Target RejectNegative InverseMask(FPU)
38 Do not use hardware FP
41 Target Report Mask(FLAT)
42 Use flat register window model
45 Target Report Mask(UNALIGNED_DOUBLES)
46 Assume possible double misalignment
49 Target Report Mask(APP_REGS)
50 Use ABI reserved registers
53 Target Report RejectNegative Mask(HARD_QUAD)
54 Use hardware quad FP instructions
57 Target Report RejectNegative InverseMask(HARD_QUAD)
58 Do not use hardware quad fp instructions
61 Target Report Mask(V8PLUS)
65 Target Report Mask(VIS)
66 Use UltraSPARC Visual Instruction Set version 1.0 extensions
69 Target Report Mask(VIS2)
70 Use UltraSPARC Visual Instruction Set version 2.0 extensions
73 Target Report Mask(VIS3)
74 Use UltraSPARC Visual Instruction Set version 3.0 extensions
77 Target Report Mask(FMAF)
78 Use UltraSPARC Fused Multiply-Add extensions
81 Target Report Mask(POPC)
82 Use UltraSPARC Population-Count instruction
85 Target Report RejectNegative Mask(PTR64)
89 Target Report RejectNegative InverseMask(PTR64)
93 Target Report RejectNegative Mask(64BIT)
97 Target Report RejectNegative InverseMask(64BIT)
101 Target Report Mask(STACK_BIAS)
105 Target Report Mask(FASTER_STRUCTS)
106 Use structs on stronger alignment for double-word copies
110 Optimize tail call instructions in assembler and linker
113 Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
114 Use features of and schedule code for given CPU
117 Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
118 Schedule code for given CPU
121 Name(sparc_processor_type) Type(enum processor_type)
124 Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
127 Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
130 Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
133 Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
136 Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
139 Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
142 Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
145 Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
148 Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
151 Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
154 Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
157 Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
160 Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
163 Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
166 Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
169 Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
172 Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
175 Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
178 Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
181 Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
184 Target RejectNegative Joined Var(sparc_cmodel_string)
185 Use given SPARC-V9 code model
188 Target RejectNegative Joined Var(sparc_debug_string)
192 Target Report RejectNegative Var(sparc_std_struct_return)
193 Enable strict 32-bit psABI struct return checking.
196 Target Report RejectNegative Var(sparc_fix_at697f)
197 Enable workaround for single erratum of AT697F processor
198 (corresponding to erratum #13 of AT697E processor)
200 Mask(LONG_DOUBLE_128)
201 ;; Use 128-bit long double
204 ;; Generate code for SPARClite
207 ;; Generate code for SPARClet
210 ;; Generate code for SPARC-V8
213 ;; Generate code for SPARC-V9
215 Mask(DEPRECATED_V8_INSNS)
216 ;; Generate code that uses the V8 instructions deprecated
217 ;; in the V9 architecture.
220 Target RejectNegative Joined Var(sparc_memory_model) Enum(sparc_memory_model) Init(SMM_DEFAULT)
221 Specify the memory model in effect for the program.
224 Name(sparc_memory_model) Type(enum sparc_memory_model_type)
227 Enum(sparc_memory_model) String(default) Value(SMM_DEFAULT)
230 Enum(sparc_memory_model) String(rmo) Value(SMM_RMO)
233 Enum(sparc_memory_model) String(pso) Value(SMM_PSO)
236 Enum(sparc_memory_model) String(tso) Value(SMM_TSO)
239 Enum(sparc_memory_model) String(sc) Value(SMM_SC)