annotate gcc/config/sparc/sol2.h @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents f6334be47118
children 84e7813d76e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /* Definitions of target machine for GCC, for SPARC running Solaris 2
111
kono
parents: 67
diff changeset
2 Copyright (C) 1992-2017 Free Software Foundation, Inc.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 Contributed by Ron Guilmette (rfg@netcom.com).
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 Additional changes by David V. Henkel-Wallace (gumby@cygnus.com).
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 This file is part of GCC.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 GCC is free software; you can redistribute it and/or modify
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 it under the terms of the GNU General Public License as published by
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 the Free Software Foundation; either version 3, or (at your option)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 any later version.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 GCC is distributed in the hope that it will be useful,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 GNU General Public License for more details.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 along with GCC; see the file COPYING3. If not see
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 <http://www.gnu.org/licenses/>. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
111
kono
parents: 67
diff changeset
22 /* Solaris allows 64-bit out and global registers to be used in 32-bit mode.
kono
parents: 67
diff changeset
23 sparc_override_options will disable V8+ if either not generating V9 code
kono
parents: 67
diff changeset
24 or generating 64-bit code. */
kono
parents: 67
diff changeset
25 #undef TARGET_DEFAULT
kono
parents: 67
diff changeset
26 #ifdef TARGET_64BIT_DEFAULT
kono
parents: 67
diff changeset
27 #define TARGET_DEFAULT \
kono
parents: 67
diff changeset
28 (MASK_V9 + MASK_64BIT + MASK_PTR64 + MASK_STACK_BIAS + \
kono
parents: 67
diff changeset
29 MASK_V8PLUS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
kono
parents: 67
diff changeset
30 #else
kono
parents: 67
diff changeset
31 #define TARGET_DEFAULT \
kono
parents: 67
diff changeset
32 (MASK_V8PLUS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
kono
parents: 67
diff changeset
33 #endif
kono
parents: 67
diff changeset
34
kono
parents: 67
diff changeset
35 /* The default code model used to be CM_MEDANY on Solaris
kono
parents: 67
diff changeset
36 but even Sun eventually found it to be quite wasteful
kono
parents: 67
diff changeset
37 and changed it to CM_MEDMID in the Studio 9 compiler. */
kono
parents: 67
diff changeset
38 #undef SPARC_DEFAULT_CMODEL
kono
parents: 67
diff changeset
39 #define SPARC_DEFAULT_CMODEL CM_MEDMID
kono
parents: 67
diff changeset
40
kono
parents: 67
diff changeset
41 /* Select a format to encode pointers in exception handling data. CODE
kono
parents: 67
diff changeset
42 is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
kono
parents: 67
diff changeset
43 true if the symbol may be affected by dynamic relocations.
kono
parents: 67
diff changeset
44
kono
parents: 67
diff changeset
45 Some Solaris dynamic linkers don't handle unaligned section relative
kono
parents: 67
diff changeset
46 relocs properly, so force them to be aligned. */
kono
parents: 67
diff changeset
47 #ifndef HAVE_AS_SPARC_UA_PCREL
kono
parents: 67
diff changeset
48 #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
kono
parents: 67
diff changeset
49 ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
kono
parents: 67
diff changeset
50 #endif
kono
parents: 67
diff changeset
51
kono
parents: 67
diff changeset
52
kono
parents: 67
diff changeset
53
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 /* Supposedly the same as vanilla sparc svr4, except for the stuff below: */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
111
kono
parents: 67
diff changeset
56 /* If the assembler supports -xarch=sparc4, we switch to the explicit
kono
parents: 67
diff changeset
57 word size selection mechanism available both in GNU as and Sun as,
kono
parents: 67
diff changeset
58 for the Niagara4 and above configurations. */
kono
parents: 67
diff changeset
59 #ifdef HAVE_AS_SPARC4
kono
parents: 67
diff changeset
60
kono
parents: 67
diff changeset
61 #define AS_SPARC32_FLAG ""
kono
parents: 67
diff changeset
62 #define AS_SPARC64_FLAG ""
kono
parents: 67
diff changeset
63
kono
parents: 67
diff changeset
64 #ifndef USE_GAS
kono
parents: 67
diff changeset
65 #undef ASM_ARCH32_SPEC
kono
parents: 67
diff changeset
66 #define ASM_ARCH32_SPEC "-m32"
kono
parents: 67
diff changeset
67 #undef ASM_ARCH64_SPEC
kono
parents: 67
diff changeset
68 #define ASM_ARCH64_SPEC "-m64"
kono
parents: 67
diff changeset
69 #endif
kono
parents: 67
diff changeset
70
kono
parents: 67
diff changeset
71 /* Both Sun as and GNU as understand -K PIC. */
kono
parents: 67
diff changeset
72 #undef ASM_SPEC
kono
parents: 67
diff changeset
73 #define ASM_SPEC ASM_SPEC_BASE " %(asm_arch)" ASM_PIC_SPEC
kono
parents: 67
diff changeset
74
kono
parents: 67
diff changeset
75 #else /* HAVE_AS_SPARC4 */
kono
parents: 67
diff changeset
76
kono
parents: 67
diff changeset
77 #define AS_SPARC32_FLAG "-xarch=v8plus"
kono
parents: 67
diff changeset
78 #define AS_SPARC64_FLAG "-xarch=v9"
kono
parents: 67
diff changeset
79
kono
parents: 67
diff changeset
80 #undef AS_NIAGARA4_FLAG
kono
parents: 67
diff changeset
81 #define AS_NIAGARA4_FLAG AS_NIAGARA3_FLAG
kono
parents: 67
diff changeset
82
kono
parents: 67
diff changeset
83 #undef ASM_ARCH32_SPEC
kono
parents: 67
diff changeset
84 #define ASM_ARCH32_SPEC ""
kono
parents: 67
diff changeset
85
kono
parents: 67
diff changeset
86 #undef ASM_ARCH64_SPEC
kono
parents: 67
diff changeset
87 #define ASM_ARCH64_SPEC ""
kono
parents: 67
diff changeset
88
kono
parents: 67
diff changeset
89 #undef ASM_ARCH_DEFAULT_SPEC
kono
parents: 67
diff changeset
90 #define ASM_ARCH_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
91
kono
parents: 67
diff changeset
92 #undef ASM_ARCH_SPEC
kono
parents: 67
diff changeset
93 #define ASM_ARCH_SPEC ""
kono
parents: 67
diff changeset
94
kono
parents: 67
diff changeset
95 /* Both Sun as and GNU as understand -K PIC. */
kono
parents: 67
diff changeset
96 #undef ASM_SPEC
kono
parents: 67
diff changeset
97 #define ASM_SPEC ASM_SPEC_BASE ASM_PIC_SPEC
kono
parents: 67
diff changeset
98
kono
parents: 67
diff changeset
99 #endif /* HAVE_AS_SPARC4 */
kono
parents: 67
diff changeset
100
kono
parents: 67
diff changeset
101
kono
parents: 67
diff changeset
102 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
103 #define ASM_CPU32_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
104 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
105 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9"
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 #if TARGET_CPU_DEFAULT == TARGET_CPU_v9
111
kono
parents: 67
diff changeset
108 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
109 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
110 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
111 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus"
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
111
kono
parents: 67
diff changeset
115 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
116 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
117 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
118 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusa"
kono
parents: 67
diff changeset
119 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
120 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9a"
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3
111
kono
parents: 67
diff changeset
124 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
125 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
126 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
127 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb"
kono
parents: 67
diff changeset
128 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
129 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b"
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara
111
kono
parents: 67
diff changeset
133 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
134 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
135 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
136 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb"
kono
parents: 67
diff changeset
137 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
138 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b"
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara2
111
kono
parents: 67
diff changeset
142 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
143 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
144 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
145 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb"
kono
parents: 67
diff changeset
146 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
147 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b"
kono
parents: 67
diff changeset
148 #endif
kono
parents: 67
diff changeset
149
kono
parents: 67
diff changeset
150 #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara3
kono
parents: 67
diff changeset
151 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
152 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
153 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
154 #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus" AS_NIAGARA3_FLAG
kono
parents: 67
diff changeset
155 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
156 #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9" AS_NIAGARA3_FLAG
kono
parents: 67
diff changeset
157 #endif
kono
parents: 67
diff changeset
158
kono
parents: 67
diff changeset
159 #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara4
kono
parents: 67
diff changeset
160 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
161 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
162 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
163 #define ASM_CPU32_DEFAULT_SPEC AS_SPARC32_FLAG AS_NIAGARA4_FLAG
kono
parents: 67
diff changeset
164 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
165 #define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_NIAGARA4_FLAG
kono
parents: 67
diff changeset
166 #endif
kono
parents: 67
diff changeset
167
kono
parents: 67
diff changeset
168 #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara7
kono
parents: 67
diff changeset
169 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
170 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
171 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
172 #define ASM_CPU32_DEFAULT_SPEC AS_SPARC32_FLAG AS_NIAGARA7_FLAG
kono
parents: 67
diff changeset
173 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
174 #define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_NIAGARA7_FLAG
kono
parents: 67
diff changeset
175 #endif
kono
parents: 67
diff changeset
176
kono
parents: 67
diff changeset
177 #if TARGET_CPU_DEFAULT == TARGET_CPU_m8
kono
parents: 67
diff changeset
178 #undef CPP_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
179 #define CPP_CPU64_DEFAULT_SPEC ""
kono
parents: 67
diff changeset
180 #undef ASM_CPU32_DEFAULT_SPEC
kono
parents: 67
diff changeset
181 #define ASM_CPU32_DEFAULT_SPEC AS_SPARC32_FLAG AS_M8_FLAG
kono
parents: 67
diff changeset
182 #undef ASM_CPU64_DEFAULT_SPEC
kono
parents: 67
diff changeset
183 #define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_M8_FLAG
kono
parents: 67
diff changeset
184 #endif
kono
parents: 67
diff changeset
185
kono
parents: 67
diff changeset
186 #undef CPP_CPU_SPEC
kono
parents: 67
diff changeset
187 #define CPP_CPU_SPEC "\
kono
parents: 67
diff changeset
188 %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} \
kono
parents: 67
diff changeset
189 %{mcpu=sparclite|mcpu-f930|mcpu=f934:-D__sparclite__} \
kono
parents: 67
diff changeset
190 %{mcpu=v8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \
kono
parents: 67
diff changeset
191 %{mcpu=supersparc:-D__supersparc__ " DEF_ARCH32_SPEC("-D__sparcv8") "} \
kono
parents: 67
diff changeset
192 %{mcpu=v9|mcpu=ultrasparc|mcpu=ultrasparc3|mcpu=niagara|mcpu=niagara2|mcpu=niagara3|mcpu=niagara4|mcpu=niagara7|mcpu=m8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \
kono
parents: 67
diff changeset
193 %{!mcpu*:%(cpp_cpu_default)} \
kono
parents: 67
diff changeset
194 "
kono
parents: 67
diff changeset
195
kono
parents: 67
diff changeset
196 #undef CPP_CPU_DEFAULT_SPEC
kono
parents: 67
diff changeset
197 #define CPP_CPU_DEFAULT_SPEC \
kono
parents: 67
diff changeset
198 (DEFAULT_ARCH32_P ? "\
kono
parents: 67
diff changeset
199 %{m64:" CPP_CPU64_DEFAULT_SPEC "} \
kono
parents: 67
diff changeset
200 %{!m64:" CPP_CPU32_DEFAULT_SPEC "} \
kono
parents: 67
diff changeset
201 " : "\
kono
parents: 67
diff changeset
202 %{m32:" CPP_CPU32_DEFAULT_SPEC "} \
kono
parents: 67
diff changeset
203 %{!m32:" CPP_CPU64_DEFAULT_SPEC "} \
kono
parents: 67
diff changeset
204 ")
kono
parents: 67
diff changeset
205
kono
parents: 67
diff changeset
206 #undef CPP_ARCH32_SPEC
kono
parents: 67
diff changeset
207 #define CPP_ARCH32_SPEC ""
kono
parents: 67
diff changeset
208 #undef CPP_ARCH64_SPEC
kono
parents: 67
diff changeset
209 #define CPP_ARCH64_SPEC "-D__arch64__ -D__sparcv9"
kono
parents: 67
diff changeset
210
kono
parents: 67
diff changeset
211 #undef CPP_ARCH_SPEC
kono
parents: 67
diff changeset
212 #define CPP_ARCH_SPEC "\
kono
parents: 67
diff changeset
213 %{m32:%(cpp_arch32)} \
kono
parents: 67
diff changeset
214 %{m64:%(cpp_arch64)} \
kono
parents: 67
diff changeset
215 %{!m32:%{!m64:%(cpp_arch_default)}} \
kono
parents: 67
diff changeset
216 "
kono
parents: 67
diff changeset
217
kono
parents: 67
diff changeset
218 /* -mcpu=native handling only makes sense with compiler running on
kono
parents: 67
diff changeset
219 a SPARC chip. */
kono
parents: 67
diff changeset
220 #if defined(__sparc__) && defined(__SVR4)
kono
parents: 67
diff changeset
221 extern const char *host_detect_local_cpu (int argc, const char **argv);
kono
parents: 67
diff changeset
222 # define EXTRA_SPEC_FUNCTIONS \
kono
parents: 67
diff changeset
223 { "local_cpu_detect", host_detect_local_cpu },
kono
parents: 67
diff changeset
224
kono
parents: 67
diff changeset
225 # define MCPU_MTUNE_NATIVE_SPECS \
kono
parents: 67
diff changeset
226 " %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \
kono
parents: 67
diff changeset
227 " %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}"
kono
parents: 67
diff changeset
228 #else
kono
parents: 67
diff changeset
229 # define MCPU_MTUNE_NATIVE_SPECS ""
kono
parents: 67
diff changeset
230 #endif
kono
parents: 67
diff changeset
231
kono
parents: 67
diff changeset
232 #define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
kono
parents: 67
diff changeset
233
kono
parents: 67
diff changeset
234 #undef CC1_SPEC
kono
parents: 67
diff changeset
235 #if DEFAULT_ARCH32_P
kono
parents: 67
diff changeset
236 #define CC1_SPEC "\
kono
parents: 67
diff changeset
237 %{m64:%{m32:%emay not use both -m32 and -m64}} \
kono
parents: 67
diff changeset
238 %{m64:-mptr64 -mstack-bias -mno-v8plus \
kono
parents: 67
diff changeset
239 %{!mcpu*:-%{!mv8plus:mcpu=v9}}} \
kono
parents: 67
diff changeset
240 "
kono
parents: 67
diff changeset
241 #else
kono
parents: 67
diff changeset
242 #define CC1_SPEC "\
kono
parents: 67
diff changeset
243 %{m32:%{m64:%emay not use both -m32 and -m64}} \
kono
parents: 67
diff changeset
244 %{m32:-mptr32 -mno-stack-bias \
kono
parents: 67
diff changeset
245 %{!mcpu*:%{!mv8plus:-mcpu=v9}}} \
kono
parents: 67
diff changeset
246 %{mv8plus:-m32 -mptr32 -mno-stack-bias \
kono
parents: 67
diff changeset
247 %{!mcpu*:-mcpu=v9}} \
kono
parents: 67
diff changeset
248 "
kono
parents: 67
diff changeset
249 #endif
kono
parents: 67
diff changeset
250
kono
parents: 67
diff changeset
251 /* Support for a compile-time default CPU, et cetera. The rules are:
kono
parents: 67
diff changeset
252 --with-cpu is ignored if -mcpu is specified; likewise --with-cpu-32
kono
parents: 67
diff changeset
253 and --with-cpu-64.
kono
parents: 67
diff changeset
254 --with-tune is ignored if -mtune is specified; likewise --with-tune-32
kono
parents: 67
diff changeset
255 and --with-tune-64.
kono
parents: 67
diff changeset
256 --with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu
kono
parents: 67
diff changeset
257 are specified.
kono
parents: 67
diff changeset
258 In the SPARC_BI_ARCH compiler we cannot pass %{!mcpu=*:-mcpu=%(VALUE)}
kono
parents: 67
diff changeset
259 here, otherwise say -mcpu=v7 would be passed even when -m64.
kono
parents: 67
diff changeset
260 CC1_SPEC above takes care of this instead.
kono
parents: 67
diff changeset
261
kono
parents: 67
diff changeset
262 Note that the order of the cpu* and tune* options matters: the
kono
parents: 67
diff changeset
263 config.gcc file always sets with_cpu to some value, even if the
kono
parents: 67
diff changeset
264 user didn't use --with-cpu when invoking the configure script.
kono
parents: 67
diff changeset
265 This value is based on the target name. Therefore we have to make
kono
parents: 67
diff changeset
266 sure that --with-cpu-32 takes precedence to --with-cpu in < v9
kono
parents: 67
diff changeset
267 systems, and that --with-cpu-64 takes precedence to --with-cpu in
kono
parents: 67
diff changeset
268 >= v9 systems. As for the tune* options, in some platforms
kono
parents: 67
diff changeset
269 config.gcc also sets a default value for it if the user didn't use
kono
parents: 67
diff changeset
270 --with-tune when invoking the configure script. */
kono
parents: 67
diff changeset
271 #undef OPTION_DEFAULT_SPECS
kono
parents: 67
diff changeset
272 #if DEFAULT_ARCH32_P
kono
parents: 67
diff changeset
273 #define OPTION_DEFAULT_SPECS \
kono
parents: 67
diff changeset
274 {"cpu_32", "%{!m64:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
275 {"cpu_64", "%{m64:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
276 {"cpu", "%{!m64:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
277 {"tune_32", "%{!m64:%{!mtune=*:-mtune=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
278 {"tune_64", "%{m64:%{!mtune=*:-mtune=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
279 {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
kono
parents: 67
diff changeset
280 {"float", "%{!msoft-float:%{!mhard-float:%{!mfpu:%{!mno-fpu:-m%(VALUE)-float}}}}" }
kono
parents: 67
diff changeset
281 #else
kono
parents: 67
diff changeset
282 #define OPTION_DEFAULT_SPECS \
kono
parents: 67
diff changeset
283 {"cpu_32", "%{m32:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
284 {"cpu_64", "%{!m32:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
285 {"cpu", "%{!m32:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
286 {"tune_32", "%{m32:%{!mtune=*:-mtune=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
287 {"tune_64", "%{!m32:%{!mtune=*:-mtune=%(VALUE)}}" }, \
kono
parents: 67
diff changeset
288 {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
kono
parents: 67
diff changeset
289 {"float", "%{!msoft-float:%{!mhard-float:%{!mfpu:%{!mno-fpu:-m%(VALUE)-float}}}}" }
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 #undef ASM_CPU_SPEC
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 #define ASM_CPU_SPEC "\
111
kono
parents: 67
diff changeset
294 %{mcpu=v9:" DEF_ARCH32_SPEC("-xarch=v8plus") DEF_ARCH64_SPEC("-xarch=v9") "} \
kono
parents: 67
diff changeset
295 %{mcpu=ultrasparc:" DEF_ARCH32_SPEC("-xarch=v8plusa") DEF_ARCH64_SPEC("-xarch=v9a") "} \
kono
parents: 67
diff changeset
296 %{mcpu=ultrasparc3:" DEF_ARCH32_SPEC("-xarch=v8plusb") DEF_ARCH64_SPEC("-xarch=v9b") "} \
kono
parents: 67
diff changeset
297 %{mcpu=niagara:" DEF_ARCH32_SPEC("-xarch=v8plusb") DEF_ARCH64_SPEC("-xarch=v9b") "} \
kono
parents: 67
diff changeset
298 %{mcpu=niagara2:" DEF_ARCH32_SPEC("-xarch=v8plusb") DEF_ARCH64_SPEC("-xarch=v9b") "} \
kono
parents: 67
diff changeset
299 %{mcpu=niagara3:" DEF_ARCH32_SPEC("-xarch=v8plus" AS_NIAGARA3_FLAG) DEF_ARCH64_SPEC("-xarch=v9" AS_NIAGARA3_FLAG) "} \
kono
parents: 67
diff changeset
300 %{mcpu=niagara4:" DEF_ARCH32_SPEC(AS_SPARC32_FLAG AS_NIAGARA4_FLAG) DEF_ARCH64_SPEC(AS_SPARC64_FLAG AS_NIAGARA4_FLAG) "} \
kono
parents: 67
diff changeset
301 %{mcpu=niagara7:" DEF_ARCH32_SPEC(AS_SPARC32_FLAG AS_NIAGARA7_FLAG) DEF_ARCH64_SPEC(AS_SPARC64_FLAG AS_NIAGARA7_FLAG) "} \
kono
parents: 67
diff changeset
302 %{mcpu=m8:" DEF_ARCH32_SPEC(AS_SPARC32_FLAG AS_M8_FLAG) DEF_ARCH64_SPEC(AS_SPARC64_FLAG AS_M8_FLAG) "} \
kono
parents: 67
diff changeset
303 %{!mcpu=m8:%{!mcpu=niagara7:%{!mcpu=niagara4:%{!mcpu=niagara3:%{!mcpu=niagara2:%{!mcpu=niagara:%{!mcpu=ultrasparc3:%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:" DEF_ARCH32_SPEC("-xarch=v8") DEF_ARCH64_SPEC("-xarch=v9") "}}}}}}}}}} \
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 %{!mcpu*:%(asm_cpu_default)} \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 "
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306
111
kono
parents: 67
diff changeset
307 #ifdef USE_GLD
kono
parents: 67
diff changeset
308 /* Since binutils 2.21, GNU ld supports new *_sol2 emulations to strictly
kono
parents: 67
diff changeset
309 follow the Solaris 2 ABI. Prefer them if present. */
kono
parents: 67
diff changeset
310 #ifdef HAVE_LD_SOL2_EMULATION
kono
parents: 67
diff changeset
311 #define ARCH32_EMULATION "elf32_sparc_sol2"
kono
parents: 67
diff changeset
312 #define ARCH64_EMULATION "elf64_sparc_sol2"
kono
parents: 67
diff changeset
313 #else
kono
parents: 67
diff changeset
314 #define ARCH32_EMULATION "elf32_sparc"
kono
parents: 67
diff changeset
315 #define ARCH64_EMULATION "elf64_sparc"
kono
parents: 67
diff changeset
316 #endif
kono
parents: 67
diff changeset
317 #endif
kono
parents: 67
diff changeset
318
kono
parents: 67
diff changeset
319 #define ARCH64_SUBDIR "sparcv9"
kono
parents: 67
diff changeset
320
kono
parents: 67
diff changeset
321 #define SUBTARGET_CPU_EXTRA_SPECS
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322
111
kono
parents: 67
diff changeset
323 #define ENDFILE_ARCH_SPEC ""
kono
parents: 67
diff changeset
324
kono
parents: 67
diff changeset
325
kono
parents: 67
diff changeset
326
kono
parents: 67
diff changeset
327 /* Register the Solaris-specific #pragma directives. */
kono
parents: 67
diff changeset
328 #define REGISTER_TARGET_PRAGMAS() solaris_register_pragmas ()
kono
parents: 67
diff changeset
329
kono
parents: 67
diff changeset
330 #if defined(USE_GAS) && defined(HAVE_AS_TLS)
kono
parents: 67
diff changeset
331 /* Use GNU extensions to TLS support. */
kono
parents: 67
diff changeset
332 #undef TARGET_SUN_TLS
kono
parents: 67
diff changeset
333 #undef TARGET_GNU_TLS
kono
parents: 67
diff changeset
334 #define TARGET_SUN_TLS 0
kono
parents: 67
diff changeset
335 #define TARGET_GNU_TLS 1
kono
parents: 67
diff changeset
336 #endif
kono
parents: 67
diff changeset
337
kono
parents: 67
diff changeset
338 #undef LOCAL_LABEL_PREFIX
kono
parents: 67
diff changeset
339 #define LOCAL_LABEL_PREFIX "."
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 /* The Solaris 2 assembler uses .skip, not .zero, so put this back. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 #undef ASM_OUTPUT_SKIP
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 #define ASM_OUTPUT_SKIP(FILE,SIZE) \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 fprintf (FILE, "\t.skip %u\n", (int)(SIZE))
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 /* This is how to store into the string LABEL
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 the symbol_ref name of an internal numbered label where
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 PREFIX is the class of label and NUM is the number within the class.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 This is suitable for output with `assemble_name'. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 #undef ASM_GENERATE_INTERNAL_LABEL
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 sprintf ((LABEL), "*.L%s%lu", (PREFIX), (unsigned long)(NUM))
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 /* The native TLS-enabled assembler requires the directive #tls_object
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 to be put on objects in TLS sections (as of v7.1). This is not
111
kono
parents: 67
diff changeset
357 required by GNU as but supported on SPARC. */
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 #undef ASM_DECLARE_OBJECT_NAME
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 do \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 { \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 HOST_WIDE_INT size; \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 if (targetm.have_tls && DECL_THREAD_LOCAL_P (DECL)) \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "tls_object"); \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 else \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 size_directive_output = 0; \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 if (!flag_inhibit_size_directive \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 && (DECL) && DECL_SIZE (DECL)) \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 { \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 size_directive_output = 1; \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 size = int_size_in_bytes (TREE_TYPE (DECL)); \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 } \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 ASM_OUTPUT_LABEL (FILE, NAME); \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 } \
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 while (0)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381
111
kono
parents: 67
diff changeset
382 /* Output a simple call for .init/.fini. */
kono
parents: 67
diff changeset
383 #define ASM_OUTPUT_CALL(FILE, FN) \
kono
parents: 67
diff changeset
384 do \
kono
parents: 67
diff changeset
385 { \
kono
parents: 67
diff changeset
386 fprintf (FILE, "\tcall\t"); \
kono
parents: 67
diff changeset
387 targetm.asm_out.print_operand (FILE, XEXP (DECL_RTL (FN), 0), 0); \
kono
parents: 67
diff changeset
388 fprintf (FILE, "\n\tnop\n"); \
kono
parents: 67
diff changeset
389 } \
kono
parents: 67
diff changeset
390 while (0)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391
111
kono
parents: 67
diff changeset
392 /* Solaris as has a bug: a .common directive in .tbss or .tdata section
kono
parents: 67
diff changeset
393 behaves as .tls_common rather than normal non-TLS .common. */
kono
parents: 67
diff changeset
394 #undef ASM_OUTPUT_ALIGNED_COMMON
kono
parents: 67
diff changeset
395 #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
kono
parents: 67
diff changeset
396 do \
kono
parents: 67
diff changeset
397 { \
kono
parents: 67
diff changeset
398 if (TARGET_SUN_TLS \
kono
parents: 67
diff changeset
399 && in_section \
kono
parents: 67
diff changeset
400 && ((in_section->common.flags & SECTION_TLS) == SECTION_TLS)) \
kono
parents: 67
diff changeset
401 switch_to_section (bss_section); \
kono
parents: 67
diff changeset
402 fprintf ((FILE), "%s", COMMON_ASM_OP); \
kono
parents: 67
diff changeset
403 assemble_name ((FILE), (NAME)); \
kono
parents: 67
diff changeset
404 fprintf ((FILE), "," HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \
kono
parents: 67
diff changeset
405 (SIZE), (ALIGN) / BITS_PER_UNIT); \
kono
parents: 67
diff changeset
406 } \
kono
parents: 67
diff changeset
407 while (0)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408
111
kono
parents: 67
diff changeset
409 #ifndef USE_GAS
kono
parents: 67
diff changeset
410 /* This is how to output an assembler line that says to advance
kono
parents: 67
diff changeset
411 the location counter to a multiple of 2**LOG bytes using the
kono
parents: 67
diff changeset
412 NOP instruction as padding. The filler pattern doesn't work
kono
parents: 67
diff changeset
413 with GNU as. */
kono
parents: 67
diff changeset
414 #define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG) \
kono
parents: 67
diff changeset
415 if ((LOG) != 0) \
kono
parents: 67
diff changeset
416 fprintf (FILE, "\t.align %d,0x1000000\n", (1<<(LOG)))
kono
parents: 67
diff changeset
417
kono
parents: 67
diff changeset
418 /* Use Solaris ELF section syntax with Sun as. */
kono
parents: 67
diff changeset
419 #undef TARGET_ASM_NAMED_SECTION
kono
parents: 67
diff changeset
420 #define TARGET_ASM_NAMED_SECTION sparc_solaris_elf_asm_named_section
kono
parents: 67
diff changeset
421
kono
parents: 67
diff changeset
422 /* Sun as requires doublequoted section names on SPARC. While GNU as
kono
parents: 67
diff changeset
423 supports that, too, we prefer the standard variant. */
kono
parents: 67
diff changeset
424 #define SECTION_NAME_FORMAT "\"%s\""
kono
parents: 67
diff changeset
425 #endif /* !USE_GAS */
kono
parents: 67
diff changeset
426
kono
parents: 67
diff changeset
427 /* Undefine this so that attribute((init_priority)) works with GNU ld. */
kono
parents: 67
diff changeset
428 #ifdef USE_GLD
kono
parents: 67
diff changeset
429 #undef CTORS_SECTION_ASM_OP
kono
parents: 67
diff changeset
430 #undef DTORS_SECTION_ASM_OP
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433
111
kono
parents: 67
diff changeset
434
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 /* Define for support of TFmode long double.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 SPARC ABI says that long double is 4 words. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 #define LONG_DOUBLE_TYPE_SIZE 128
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 /* Solaris's _Qp_* library routine implementation clobbers the output
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 memory before the inputs are fully consumed. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 #undef TARGET_BUGGY_QP_LIB
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 #define TARGET_BUGGY_QP_LIB 1
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 #undef SUN_CONVERSION_LIBFUNCS
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 #define SUN_CONVERSION_LIBFUNCS 1
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 #undef DITF_CONVERSION_LIBFUNCS
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 #define DITF_CONVERSION_LIBFUNCS 1
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 #undef SUN_INTEGER_MULTIPLY_64
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 #define SUN_INTEGER_MULTIPLY_64 1
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453
111
kono
parents: 67
diff changeset
454 #undef SPARC_LOW_FE_EXCEPT_VALUES
kono
parents: 67
diff changeset
455 #define SPARC_LOW_FE_EXCEPT_VALUES 1