]>
Commit | Line | Data |
---|---|---|
e78d8e51 ZW |
1 | /* Definitions for code generation pass of GNU compiler. |
2 | Copyright (C) 2001 Free Software Foundation, Inc. | |
3 | ||
40803cd5 | 4 | This file is part of GCC. |
e78d8e51 | 5 | |
40803cd5 | 6 | GCC is free software; you can redistribute it and/or modify |
e78d8e51 ZW |
7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
40803cd5 | 11 | GCC is distributed in the hope that it will be useful, |
e78d8e51 ZW |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
40803cd5 | 17 | along with GCC; see the file COPYING. If not, write to |
e78d8e51 ZW |
18 | the Free Software Foundation, 59 Temple Place - Suite 330, |
19 | Boston, MA 02111-1307, USA. */ | |
20 | ||
21 | #ifndef GCC_LIBFUNCS_H | |
22 | #define GCC_LIBFUNCS_H | |
23 | ||
24 | /* Enumeration of indexes into libfunc_table. */ | |
25 | enum libfunc_index | |
26 | { | |
27 | LTI_extendsfdf2, | |
28 | LTI_extendsfxf2, | |
29 | LTI_extendsftf2, | |
30 | LTI_extenddfxf2, | |
31 | LTI_extenddftf2, | |
32 | ||
33 | LTI_truncdfsf2, | |
34 | LTI_truncxfsf2, | |
35 | LTI_trunctfsf2, | |
36 | LTI_truncxfdf2, | |
37 | LTI_trunctfdf2, | |
38 | ||
9602f5a0 | 39 | LTI_abort, |
e78d8e51 ZW |
40 | LTI_memcpy, |
41 | LTI_memmove, | |
42 | LTI_bcopy, | |
43 | LTI_memcmp, | |
44 | LTI_bcmp, | |
45 | LTI_memset, | |
46 | LTI_bzero, | |
68d28100 | 47 | LTI_setbits, |
e78d8e51 ZW |
48 | |
49 | LTI_unwind_resume, | |
50 | LTI_eh_personality, | |
51 | LTI_setjmp, | |
52 | LTI_longjmp, | |
53 | LTI_unwind_sjlj_register, | |
54 | LTI_unwind_sjlj_unregister, | |
55 | ||
56 | LTI_eqhf2, | |
57 | LTI_nehf2, | |
58 | LTI_gthf2, | |
59 | LTI_gehf2, | |
60 | LTI_lthf2, | |
61 | LTI_lehf2, | |
62 | LTI_unordhf2, | |
63 | ||
64 | LTI_eqsf2, | |
65 | LTI_nesf2, | |
66 | LTI_gtsf2, | |
67 | LTI_gesf2, | |
68 | LTI_ltsf2, | |
69 | LTI_lesf2, | |
70 | LTI_unordsf2, | |
71 | ||
72 | LTI_eqdf2, | |
73 | LTI_nedf2, | |
74 | LTI_gtdf2, | |
75 | LTI_gedf2, | |
76 | LTI_ltdf2, | |
77 | LTI_ledf2, | |
78 | LTI_unorddf2, | |
79 | ||
80 | LTI_eqxf2, | |
81 | LTI_nexf2, | |
82 | LTI_gtxf2, | |
83 | LTI_gexf2, | |
84 | LTI_ltxf2, | |
85 | LTI_lexf2, | |
86 | LTI_unordxf2, | |
87 | ||
88 | LTI_eqtf2, | |
89 | LTI_netf2, | |
90 | LTI_gttf2, | |
91 | LTI_getf2, | |
92 | LTI_lttf2, | |
93 | LTI_letf2, | |
94 | LTI_unordtf2, | |
95 | ||
96 | LTI_floatsisf, | |
97 | LTI_floatdisf, | |
98 | LTI_floattisf, | |
99 | ||
100 | LTI_floatsidf, | |
101 | LTI_floatdidf, | |
102 | LTI_floattidf, | |
103 | ||
104 | LTI_floatsixf, | |
105 | LTI_floatdixf, | |
106 | LTI_floattixf, | |
107 | ||
108 | LTI_floatsitf, | |
109 | LTI_floatditf, | |
110 | LTI_floattitf, | |
111 | ||
112 | LTI_fixsfsi, | |
113 | LTI_fixsfdi, | |
114 | LTI_fixsfti, | |
115 | ||
116 | LTI_fixdfsi, | |
117 | LTI_fixdfdi, | |
118 | LTI_fixdfti, | |
119 | ||
120 | LTI_fixxfsi, | |
121 | LTI_fixxfdi, | |
122 | LTI_fixxfti, | |
123 | ||
124 | LTI_fixtfsi, | |
125 | LTI_fixtfdi, | |
126 | LTI_fixtfti, | |
127 | ||
128 | LTI_fixunssfsi, | |
129 | LTI_fixunssfdi, | |
130 | LTI_fixunssfti, | |
131 | ||
132 | LTI_fixunsdfsi, | |
133 | LTI_fixunsdfdi, | |
134 | LTI_fixunsdfti, | |
135 | ||
136 | LTI_fixunsxfsi, | |
137 | LTI_fixunsxfdi, | |
138 | LTI_fixunsxfti, | |
139 | ||
140 | LTI_fixunstfsi, | |
141 | LTI_fixunstfdi, | |
142 | LTI_fixunstfti, | |
143 | ||
e78d8e51 ZW |
144 | LTI_profile_function_entry, |
145 | LTI_profile_function_exit, | |
146 | ||
68d28100 RH |
147 | LTI_gcov_flush, |
148 | LTI_gcov_init, | |
149 | ||
e78d8e51 ZW |
150 | LTI_MAX |
151 | }; | |
152 | ||
153 | /* SYMBOL_REF rtx's for the library functions that are called | |
154 | implicitly and not via optabs. */ | |
e2500fed | 155 | extern GTY(()) rtx libfunc_table[LTI_MAX]; |
e78d8e51 ZW |
156 | |
157 | /* Accessor macros for libfunc_table. */ | |
158 | #define extendsfdf2_libfunc (libfunc_table[LTI_extendsfdf2]) | |
159 | #define extendsfxf2_libfunc (libfunc_table[LTI_extendsfxf2]) | |
160 | #define extendsftf2_libfunc (libfunc_table[LTI_extendsftf2]) | |
161 | #define extenddfxf2_libfunc (libfunc_table[LTI_extenddfxf2]) | |
162 | #define extenddftf2_libfunc (libfunc_table[LTI_extenddftf2]) | |
163 | ||
164 | #define truncdfsf2_libfunc (libfunc_table[LTI_truncdfsf2]) | |
165 | #define truncxfsf2_libfunc (libfunc_table[LTI_truncxfsf2]) | |
166 | #define trunctfsf2_libfunc (libfunc_table[LTI_trunctfsf2]) | |
167 | #define truncxfdf2_libfunc (libfunc_table[LTI_truncxfdf2]) | |
168 | #define trunctfdf2_libfunc (libfunc_table[LTI_trunctfdf2]) | |
169 | ||
9602f5a0 | 170 | #define abort_libfunc (libfunc_table[LTI_abort]) |
e78d8e51 ZW |
171 | #define memcpy_libfunc (libfunc_table[LTI_memcpy]) |
172 | #define memmove_libfunc (libfunc_table[LTI_memmove]) | |
173 | #define bcopy_libfunc (libfunc_table[LTI_bcopy]) | |
174 | #define memcmp_libfunc (libfunc_table[LTI_memcmp]) | |
175 | #define bcmp_libfunc (libfunc_table[LTI_bcmp]) | |
176 | #define memset_libfunc (libfunc_table[LTI_memset]) | |
177 | #define bzero_libfunc (libfunc_table[LTI_bzero]) | |
68d28100 | 178 | #define setbits_libfunc (libfunc_table[LTI_setbits]) |
e78d8e51 ZW |
179 | |
180 | #define unwind_resume_libfunc (libfunc_table[LTI_unwind_resume]) | |
181 | #define eh_personality_libfunc (libfunc_table[LTI_eh_personality]) | |
182 | #define setjmp_libfunc (libfunc_table[LTI_setjmp]) | |
183 | #define longjmp_libfunc (libfunc_table[LTI_longjmp]) | |
184 | #define unwind_sjlj_register_libfunc (libfunc_table[LTI_unwind_sjlj_register]) | |
185 | #define unwind_sjlj_unregister_libfunc \ | |
186 | (libfunc_table[LTI_unwind_sjlj_unregister]) | |
187 | ||
188 | #define eqhf2_libfunc (libfunc_table[LTI_eqhf2]) | |
189 | #define nehf2_libfunc (libfunc_table[LTI_nehf2]) | |
190 | #define gthf2_libfunc (libfunc_table[LTI_gthf2]) | |
191 | #define gehf2_libfunc (libfunc_table[LTI_gehf2]) | |
192 | #define lthf2_libfunc (libfunc_table[LTI_lthf2]) | |
193 | #define lehf2_libfunc (libfunc_table[LTI_lehf2]) | |
194 | #define unordhf2_libfunc (libfunc_table[LTI_unordhf2]) | |
195 | ||
196 | #define eqsf2_libfunc (libfunc_table[LTI_eqsf2]) | |
197 | #define nesf2_libfunc (libfunc_table[LTI_nesf2]) | |
198 | #define gtsf2_libfunc (libfunc_table[LTI_gtsf2]) | |
199 | #define gesf2_libfunc (libfunc_table[LTI_gesf2]) | |
200 | #define ltsf2_libfunc (libfunc_table[LTI_ltsf2]) | |
201 | #define lesf2_libfunc (libfunc_table[LTI_lesf2]) | |
202 | #define unordsf2_libfunc (libfunc_table[LTI_unordsf2]) | |
203 | ||
204 | #define eqdf2_libfunc (libfunc_table[LTI_eqdf2]) | |
205 | #define nedf2_libfunc (libfunc_table[LTI_nedf2]) | |
206 | #define gtdf2_libfunc (libfunc_table[LTI_gtdf2]) | |
207 | #define gedf2_libfunc (libfunc_table[LTI_gedf2]) | |
208 | #define ltdf2_libfunc (libfunc_table[LTI_ltdf2]) | |
209 | #define ledf2_libfunc (libfunc_table[LTI_ledf2]) | |
210 | #define unorddf2_libfunc (libfunc_table[LTI_unorddf2]) | |
211 | ||
212 | #define eqxf2_libfunc (libfunc_table[LTI_eqxf2]) | |
213 | #define nexf2_libfunc (libfunc_table[LTI_nexf2]) | |
214 | #define gtxf2_libfunc (libfunc_table[LTI_gtxf2]) | |
215 | #define gexf2_libfunc (libfunc_table[LTI_gexf2]) | |
216 | #define ltxf2_libfunc (libfunc_table[LTI_ltxf2]) | |
217 | #define lexf2_libfunc (libfunc_table[LTI_lexf2]) | |
218 | #define unordxf2_libfunc (libfunc_table[LTI_unordxf2]) | |
219 | ||
220 | #define eqtf2_libfunc (libfunc_table[LTI_eqtf2]) | |
221 | #define netf2_libfunc (libfunc_table[LTI_netf2]) | |
222 | #define gttf2_libfunc (libfunc_table[LTI_gttf2]) | |
223 | #define getf2_libfunc (libfunc_table[LTI_getf2]) | |
224 | #define lttf2_libfunc (libfunc_table[LTI_lttf2]) | |
225 | #define letf2_libfunc (libfunc_table[LTI_letf2]) | |
226 | #define unordtf2_libfunc (libfunc_table[LTI_unordtf2]) | |
227 | ||
228 | #define floatsisf_libfunc (libfunc_table[LTI_floatsisf]) | |
229 | #define floatdisf_libfunc (libfunc_table[LTI_floatdisf]) | |
230 | #define floattisf_libfunc (libfunc_table[LTI_floattisf]) | |
231 | ||
232 | #define floatsidf_libfunc (libfunc_table[LTI_floatsidf]) | |
233 | #define floatdidf_libfunc (libfunc_table[LTI_floatdidf]) | |
234 | #define floattidf_libfunc (libfunc_table[LTI_floattidf]) | |
235 | ||
236 | #define floatsixf_libfunc (libfunc_table[LTI_floatsixf]) | |
237 | #define floatdixf_libfunc (libfunc_table[LTI_floatdixf]) | |
238 | #define floattixf_libfunc (libfunc_table[LTI_floattixf]) | |
239 | ||
240 | #define floatsitf_libfunc (libfunc_table[LTI_floatsitf]) | |
241 | #define floatditf_libfunc (libfunc_table[LTI_floatditf]) | |
242 | #define floattitf_libfunc (libfunc_table[LTI_floattitf]) | |
243 | ||
244 | #define fixsfsi_libfunc (libfunc_table[LTI_fixsfsi]) | |
245 | #define fixsfdi_libfunc (libfunc_table[LTI_fixsfdi]) | |
246 | #define fixsfti_libfunc (libfunc_table[LTI_fixsfti]) | |
247 | ||
248 | #define fixdfsi_libfunc (libfunc_table[LTI_fixdfsi]) | |
249 | #define fixdfdi_libfunc (libfunc_table[LTI_fixdfdi]) | |
250 | #define fixdfti_libfunc (libfunc_table[LTI_fixdfti]) | |
251 | ||
252 | #define fixxfsi_libfunc (libfunc_table[LTI_fixxfsi]) | |
253 | #define fixxfdi_libfunc (libfunc_table[LTI_fixxfdi]) | |
254 | #define fixxfti_libfunc (libfunc_table[LTI_fixxfti]) | |
255 | ||
256 | #define fixtfsi_libfunc (libfunc_table[LTI_fixtfsi]) | |
257 | #define fixtfdi_libfunc (libfunc_table[LTI_fixtfdi]) | |
258 | #define fixtfti_libfunc (libfunc_table[LTI_fixtfti]) | |
259 | ||
260 | #define fixunssfsi_libfunc (libfunc_table[LTI_fixunssfsi]) | |
261 | #define fixunssfdi_libfunc (libfunc_table[LTI_fixunssfdi]) | |
262 | #define fixunssfti_libfunc (libfunc_table[LTI_fixunssfti]) | |
263 | ||
264 | #define fixunsdfsi_libfunc (libfunc_table[LTI_fixunsdfsi]) | |
265 | #define fixunsdfdi_libfunc (libfunc_table[LTI_fixunsdfdi]) | |
266 | #define fixunsdfti_libfunc (libfunc_table[LTI_fixunsdfti]) | |
267 | ||
268 | #define fixunsxfsi_libfunc (libfunc_table[LTI_fixunsxfsi]) | |
269 | #define fixunsxfdi_libfunc (libfunc_table[LTI_fixunsxfdi]) | |
270 | #define fixunsxfti_libfunc (libfunc_table[LTI_fixunsxfti]) | |
271 | ||
272 | #define fixunstfsi_libfunc (libfunc_table[LTI_fixunstfsi]) | |
273 | #define fixunstfdi_libfunc (libfunc_table[LTI_fixunstfdi]) | |
274 | #define fixunstfti_libfunc (libfunc_table[LTI_fixunstfti]) | |
275 | ||
e78d8e51 ZW |
276 | #define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry]) |
277 | #define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit]) | |
278 | ||
68d28100 RH |
279 | #define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush]) |
280 | #define gcov_init_libfunc (libfunc_table[LTI_gcov_init]) | |
281 | ||
e78d8e51 | 282 | #endif /* GCC_LIBFUNCS_H */ |