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
25 Target Report Mask(FPU)
29 Target RejectNegative Mask(FPU) MaskExists
33 Target RejectNegative InverseMask(FPU)
34 Do not use hardware FP
37 Target Report Mask(FLAT)
38 Use flat register window model
41 Target Report Mask(UNALIGNED_DOUBLES)
42 Assume possible double misalignment
45 Target Report Mask(APP_REGS)
46 Use ABI reserved registers
49 Target Report RejectNegative Mask(HARD_QUAD)
50 Use hardware quad FP instructions
53 Target Report RejectNegative InverseMask(HARD_QUAD)
54 Do not use hardware quad fp instructions
57 Target Report Mask(V8PLUS)
61 Target Report Mask(VIS)
62 Use UltraSPARC Visual Instruction Set version 1.0 extensions
65 Target Report Mask(VIS2)
66 Use UltraSPARC Visual Instruction Set version 2.0 extensions
69 Target Report Mask(VIS3)
70 Use UltraSPARC Visual Instruction Set version 3.0 extensions
73 Target Report Mask(FMAF)
74 Use UltraSPARC Fused Multiply-Add extensions
77 Target Report Mask(POPC)
78 Use UltraSPARC Population-Count instruction
81 Target Report RejectNegative Mask(PTR64)
85 Target Report RejectNegative InverseMask(PTR64)
89 Target Report RejectNegative Mask(64BIT)
93 Target Report RejectNegative InverseMask(64BIT)
97 Target Report Mask(STACK_BIAS)
101 Target Report Mask(FASTER_STRUCTS)
102 Use structs on stronger alignment for double-word copies
106 Optimize tail call instructions in assembler and linker
109 Target RejectNegative Joined Var(sparc_cpu_and_features) Enum(sparc_processor_type) Init(PROCESSOR_V7)
110 Use features of and schedule code for given CPU
113 Target RejectNegative Joined Var(sparc_cpu) Enum(sparc_processor_type) Init(PROCESSOR_V7)
114 Schedule code for given CPU
117 Name(sparc_processor_type) Type(enum processor_type)
120 Enum(sparc_processor_type) String(native) Value(PROCESSOR_NATIVE) DriverOnly
123 Enum(sparc_processor_type) String(v7) Value(PROCESSOR_V7)
126 Enum(sparc_processor_type) String(cypress) Value(PROCESSOR_CYPRESS)
129 Enum(sparc_processor_type) String(v8) Value(PROCESSOR_V8)
132 Enum(sparc_processor_type) String(supersparc) Value(PROCESSOR_SUPERSPARC)
135 Enum(sparc_processor_type) String(hypersparc) Value(PROCESSOR_HYPERSPARC)
138 Enum(sparc_processor_type) String(leon) Value(PROCESSOR_LEON)
141 Enum(sparc_processor_type) String(sparclite) Value(PROCESSOR_SPARCLITE)
144 Enum(sparc_processor_type) String(f930) Value(PROCESSOR_F930)
147 Enum(sparc_processor_type) String(f934) Value(PROCESSOR_F934)
150 Enum(sparc_processor_type) String(sparclite86x) Value(PROCESSOR_SPARCLITE86X)
153 Enum(sparc_processor_type) String(sparclet) Value(PROCESSOR_SPARCLET)
156 Enum(sparc_processor_type) String(tsc701) Value(PROCESSOR_TSC701)
159 Enum(sparc_processor_type) String(v9) Value(PROCESSOR_V9)
162 Enum(sparc_processor_type) String(ultrasparc) Value(PROCESSOR_ULTRASPARC)
165 Enum(sparc_processor_type) String(ultrasparc3) Value(PROCESSOR_ULTRASPARC3)
168 Enum(sparc_processor_type) String(niagara) Value(PROCESSOR_NIAGARA)
171 Enum(sparc_processor_type) String(niagara2) Value(PROCESSOR_NIAGARA2)
174 Enum(sparc_processor_type) String(niagara3) Value(PROCESSOR_NIAGARA3)
177 Enum(sparc_processor_type) String(niagara4) Value(PROCESSOR_NIAGARA4)
180 Target RejectNegative Joined Var(sparc_cmodel_string)
181 Use given SPARC-V9 code model
184 Target Report RejectNegative Var(sparc_std_struct_return)
185 Enable strict 32-bit psABI struct return checking.
188 Target Report RejectNegative Var(sparc_fix_at697f)
189 Enable workaround for single erratum of AT697F processor
190 (corresponding to erratum #13 of AT697E processor)
193 ;; Generate code for little-endian
195 Mask(LONG_DOUBLE_128)
196 ;; Use 128-bit long double
199 ;; Generate code for SPARClite
202 ;; Generate code for SPARClet
205 ;; Generate code for SPARC-V8
208 ;; Generate code for SPARC-V9
210 Mask(DEPRECATED_V8_INSNS)
211 ;; Generate code that uses the V8 instructions deprecated
212 ;; in the V9 architecture.