llvm.org GIT mirror llvm / 8731f0c
[TLI] Add declarations for various math header file routines from math-finite.h that create '__<func>_finite as functions Patch by Chris Chrulski Differential Revision: https://reviews.llvm.org/D31787 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302955 91177308-0d34-0410-b5e6-96231b3b80d8 Andrew Kaylor 3 years ago
5 changed file(s) with 510 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
160160 /// void *new(unsigned long, nothrow);
161161 TLI_DEFINE_ENUM_INTERNAL(ZnwmRKSt9nothrow_t)
162162 TLI_DEFINE_STRING_INTERNAL("_ZnwmRKSt9nothrow_t")
163 /// double __acos_finite(double x);
164 TLI_DEFINE_ENUM_INTERNAL(acos_finite)
165 TLI_DEFINE_STRING_INTERNAL("__acos_finite")
166 /// float __acosf_finite(float x);
167 TLI_DEFINE_ENUM_INTERNAL(acosf_finite)
168 TLI_DEFINE_STRING_INTERNAL("__acosf_finite")
169 /// double __acosh_finite(double x);
170 TLI_DEFINE_ENUM_INTERNAL(acosh_finite)
171 TLI_DEFINE_STRING_INTERNAL("__acosh_finite")
172 /// float __acoshf_finite(float x);
173 TLI_DEFINE_ENUM_INTERNAL(acoshf_finite)
174 TLI_DEFINE_STRING_INTERNAL("__acoshf_finite")
175 /// long double __acoshl_finite(long double x);
176 TLI_DEFINE_ENUM_INTERNAL(acoshl_finite)
177 TLI_DEFINE_STRING_INTERNAL("__acoshl_finite")
178 /// long double __acosl_finite(long double x);
179 TLI_DEFINE_ENUM_INTERNAL(acosl_finite)
180 TLI_DEFINE_STRING_INTERNAL("__acosl_finite")
181 /// double __asin_finite(double x);
182 TLI_DEFINE_ENUM_INTERNAL(asin_finite)
183 TLI_DEFINE_STRING_INTERNAL("__asin_finite")
184 /// float __asinf_finite(float x);
185 TLI_DEFINE_ENUM_INTERNAL(asinf_finite)
186 TLI_DEFINE_STRING_INTERNAL("__asinf_finite")
187 /// long double __asinl_finite(long double x);
188 TLI_DEFINE_ENUM_INTERNAL(asinl_finite)
189 TLI_DEFINE_STRING_INTERNAL("__asinl_finite")
190 /// double atan2_finite(double y, double x);
191 TLI_DEFINE_ENUM_INTERNAL(atan2_finite)
192 TLI_DEFINE_STRING_INTERNAL("__atan2_finite")
193 /// float atan2f_finite(float y, float x);
194 TLI_DEFINE_ENUM_INTERNAL(atan2f_finite)
195 TLI_DEFINE_STRING_INTERNAL("__atan2f_finite")
196 /// long double atan2l_finite(long double y, long double x);
197 TLI_DEFINE_ENUM_INTERNAL(atan2l_finite)
198 TLI_DEFINE_STRING_INTERNAL("__atan2l_finite")
199 /// double __atanh_finite(double x);
200 TLI_DEFINE_ENUM_INTERNAL(atanh_finite)
201 TLI_DEFINE_STRING_INTERNAL("__atanh_finite")
202 /// float __atanhf_finite(float x);
203 TLI_DEFINE_ENUM_INTERNAL(atanhf_finite)
204 TLI_DEFINE_STRING_INTERNAL("__atanhf_finite")
205 /// long double __atanhl_finite(long double x);
206 TLI_DEFINE_ENUM_INTERNAL(atanhl_finite)
207 TLI_DEFINE_STRING_INTERNAL("__atanhl_finite")
208 /// double __cosh_finite(double x);
209 TLI_DEFINE_ENUM_INTERNAL(cosh_finite)
210 TLI_DEFINE_STRING_INTERNAL("__cosh_finite")
211 /// float __coshf_finite(float x);
212 TLI_DEFINE_ENUM_INTERNAL(coshf_finite)
213 TLI_DEFINE_STRING_INTERNAL("__coshf_finite")
214 /// long double __coshl_finite(long double x);
215 TLI_DEFINE_ENUM_INTERNAL(coshl_finite)
216 TLI_DEFINE_STRING_INTERNAL("__coshl_finite")
163217 /// double __cospi(double x);
164218 TLI_DEFINE_ENUM_INTERNAL(cospi)
165219 TLI_DEFINE_STRING_INTERNAL("__cospi")
179233 /// void __cxa_guard_release(guard_t *guard);
180234 TLI_DEFINE_ENUM_INTERNAL(cxa_guard_release)
181235 TLI_DEFINE_STRING_INTERNAL("__cxa_guard_release")
236 /// double __exp10_finite(double x);
237 TLI_DEFINE_ENUM_INTERNAL(exp10_finite)
238 TLI_DEFINE_STRING_INTERNAL("__exp10_finite")
239 /// float __exp10f_finite(float x);
240 TLI_DEFINE_ENUM_INTERNAL(exp10f_finite)
241 TLI_DEFINE_STRING_INTERNAL("__exp10f_finite")
242 /// long double __exp10l_finite(long double x);
243 TLI_DEFINE_ENUM_INTERNAL(exp10l_finite)
244 TLI_DEFINE_STRING_INTERNAL("__exp10l_finite")
245 /// double __exp2_finite(double x);
246 TLI_DEFINE_ENUM_INTERNAL(exp2_finite)
247 TLI_DEFINE_STRING_INTERNAL("__exp2_finite")
248 /// float __exp2f_finite(float x);
249 TLI_DEFINE_ENUM_INTERNAL(exp2f_finite)
250 TLI_DEFINE_STRING_INTERNAL("__exp2f_finite")
251 /// long double __exp2l_finite(long double x);
252 TLI_DEFINE_ENUM_INTERNAL(exp2l_finite)
253 TLI_DEFINE_STRING_INTERNAL("__exp2l_finite")
254 /// double __exp_finite(double x);
255 TLI_DEFINE_ENUM_INTERNAL(exp_finite)
256 TLI_DEFINE_STRING_INTERNAL("__exp_finite")
257 /// float __expf_finite(float x);
258 TLI_DEFINE_ENUM_INTERNAL(expf_finite)
259 TLI_DEFINE_STRING_INTERNAL("__expf_finite")
260 /// long double __expl_finite(long double x);
261 TLI_DEFINE_ENUM_INTERNAL(expl_finite)
262 TLI_DEFINE_STRING_INTERNAL("__expl_finite")
182263 /// int __isoc99_scanf (const char *format, ...)
183264 TLI_DEFINE_ENUM_INTERNAL(dunder_isoc99_scanf)
184265 TLI_DEFINE_STRING_INTERNAL("__isoc99_scanf")
185266 /// int __isoc99_sscanf(const char *s, const char *format, ...)
186267 TLI_DEFINE_ENUM_INTERNAL(dunder_isoc99_sscanf)
187268 TLI_DEFINE_STRING_INTERNAL("__isoc99_sscanf")
269 /// double __log10_finite(double x);
270 TLI_DEFINE_ENUM_INTERNAL(log10_finite)
271 TLI_DEFINE_STRING_INTERNAL("__log10_finite")
272 /// float __log10f_finite(float x);
273 TLI_DEFINE_ENUM_INTERNAL(log10f_finite)
274 TLI_DEFINE_STRING_INTERNAL("__log10f_finite")
275 /// long double __log10l_finite(long double x);
276 TLI_DEFINE_ENUM_INTERNAL(log10l_finite)
277 TLI_DEFINE_STRING_INTERNAL("__log10l_finite")
278 /// double __log2_finite(double x);
279 TLI_DEFINE_ENUM_INTERNAL(log2_finite)
280 TLI_DEFINE_STRING_INTERNAL("__log2_finite")
281 /// float __log2f_finite(float x);
282 TLI_DEFINE_ENUM_INTERNAL(log2f_finite)
283 TLI_DEFINE_STRING_INTERNAL("__log2f_finite")
284 /// long double __log2l_finite(long double x);
285 TLI_DEFINE_ENUM_INTERNAL(log2l_finite)
286 TLI_DEFINE_STRING_INTERNAL("__log2l_finite")
287 /// double __log_finite(double x);
288 TLI_DEFINE_ENUM_INTERNAL(log_finite)
289 TLI_DEFINE_STRING_INTERNAL("__log_finite")
290 /// float __logf_finite(float x);
291 TLI_DEFINE_ENUM_INTERNAL(logf_finite)
292 TLI_DEFINE_STRING_INTERNAL("__logf_finite")
293 /// long double __logl_finite(long double x);
294 TLI_DEFINE_ENUM_INTERNAL(logl_finite)
295 TLI_DEFINE_STRING_INTERNAL("__logl_finite")
188296 /// void *__memcpy_chk(void *s1, const void *s2, size_t n, size_t s1size);
189297 TLI_DEFINE_ENUM_INTERNAL(memcpy_chk)
190298 TLI_DEFINE_STRING_INTERNAL("__memcpy_chk")
198306 // int __nvvm_reflect(const char *)
199307 TLI_DEFINE_ENUM_INTERNAL(nvvm_reflect)
200308 TLI_DEFINE_STRING_INTERNAL("__nvvm_reflect")
201
309 /// double __pow_finite(double x, double y);
310 TLI_DEFINE_ENUM_INTERNAL(pow_finite)
311 TLI_DEFINE_STRING_INTERNAL("__pow_finite")
312 /// float _powf_finite(float x, float y);
313 TLI_DEFINE_ENUM_INTERNAL(powf_finite)
314 TLI_DEFINE_STRING_INTERNAL("__powf_finite")
315 /// long double __powl_finite(long double x, long double y);
316 TLI_DEFINE_ENUM_INTERNAL(powl_finite)
317 TLI_DEFINE_STRING_INTERNAL("__powl_finite")
202318 /// double __sincospi_stret(double x);
203319 TLI_DEFINE_ENUM_INTERNAL(sincospi_stret)
204320 TLI_DEFINE_STRING_INTERNAL("__sincospi_stret")
205321 /// float __sincospif_stret(float x);
206322 TLI_DEFINE_ENUM_INTERNAL(sincospif_stret)
207323 TLI_DEFINE_STRING_INTERNAL("__sincospif_stret")
324 /// double __sinh_finite(double x);
325 TLI_DEFINE_ENUM_INTERNAL(sinh_finite)
326 TLI_DEFINE_STRING_INTERNAL("__sinh_finite")
327 /// float _sinhf_finite(float x);
328 TLI_DEFINE_ENUM_INTERNAL(sinhf_finite)
329 TLI_DEFINE_STRING_INTERNAL("__sinhf_finite")
330 /// long double __sinhl_finite(long double x);
331 TLI_DEFINE_ENUM_INTERNAL(sinhl_finite)
332 TLI_DEFINE_STRING_INTERNAL("__sinhl_finite")
208333 /// double __sinpi(double x);
209334 TLI_DEFINE_ENUM_INTERNAL(sinpi)
210335 TLI_DEFINE_STRING_INTERNAL("__sinpi")
239239 TLI.setUnavailable(LibFunc_tanf);
240240 TLI.setUnavailable(LibFunc_tanhf);
241241 }
242
243 // These definitions are due to math-finite.h header on Linux
244 TLI.setUnavailable(LibFunc_acos_finite);
245 TLI.setUnavailable(LibFunc_acosf_finite);
246 TLI.setUnavailable(LibFunc_acosl_finite);
247 TLI.setUnavailable(LibFunc_acosh_finite);
248 TLI.setUnavailable(LibFunc_acoshf_finite);
249 TLI.setUnavailable(LibFunc_acoshl_finite);
250 TLI.setUnavailable(LibFunc_asin_finite);
251 TLI.setUnavailable(LibFunc_asinf_finite);
252 TLI.setUnavailable(LibFunc_asinl_finite);
253 TLI.setUnavailable(LibFunc_atan2_finite);
254 TLI.setUnavailable(LibFunc_atan2f_finite);
255 TLI.setUnavailable(LibFunc_atan2l_finite);
256 TLI.setUnavailable(LibFunc_atanh_finite);
257 TLI.setUnavailable(LibFunc_atanhf_finite);
258 TLI.setUnavailable(LibFunc_atanhl_finite);
259 TLI.setUnavailable(LibFunc_cosh_finite);
260 TLI.setUnavailable(LibFunc_coshf_finite);
261 TLI.setUnavailable(LibFunc_coshl_finite);
262 TLI.setUnavailable(LibFunc_exp10_finite);
263 TLI.setUnavailable(LibFunc_exp10f_finite);
264 TLI.setUnavailable(LibFunc_exp10l_finite);
265 TLI.setUnavailable(LibFunc_exp2_finite);
266 TLI.setUnavailable(LibFunc_exp2f_finite);
267 TLI.setUnavailable(LibFunc_exp2l_finite);
268 TLI.setUnavailable(LibFunc_exp_finite);
269 TLI.setUnavailable(LibFunc_expf_finite);
270 TLI.setUnavailable(LibFunc_expl_finite);
271 TLI.setUnavailable(LibFunc_log10_finite);
272 TLI.setUnavailable(LibFunc_log10f_finite);
273 TLI.setUnavailable(LibFunc_log10l_finite);
274 TLI.setUnavailable(LibFunc_log2_finite);
275 TLI.setUnavailable(LibFunc_log2f_finite);
276 TLI.setUnavailable(LibFunc_log2l_finite);
277 TLI.setUnavailable(LibFunc_log_finite);
278 TLI.setUnavailable(LibFunc_logf_finite);
279 TLI.setUnavailable(LibFunc_logl_finite);
280 TLI.setUnavailable(LibFunc_pow_finite);
281 TLI.setUnavailable(LibFunc_powf_finite);
282 TLI.setUnavailable(LibFunc_powl_finite);
283 TLI.setUnavailable(LibFunc_sinh_finite);
284 TLI.setUnavailable(LibFunc_sinhf_finite);
285 TLI.setUnavailable(LibFunc_sinhl_finite);
242286
243287 // Win32 does *not* provide provide these functions, but they are
244288 // generally available on POSIX-compliant systems:
10031047 return (NumParams == 1 && FTy.getParamType(0)->isFloatingPointTy());
10041048
10051049 case LibFunc_acos:
1050 case LibFunc_acos_finite:
10061051 case LibFunc_acosf:
1052 case LibFunc_acosf_finite:
10071053 case LibFunc_acosh:
1054 case LibFunc_acosh_finite:
10081055 case LibFunc_acoshf:
1056 case LibFunc_acoshf_finite:
10091057 case LibFunc_acoshl:
1058 case LibFunc_acoshl_finite:
10101059 case LibFunc_acosl:
1060 case LibFunc_acosl_finite:
10111061 case LibFunc_asin:
1062 case LibFunc_asin_finite:
10121063 case LibFunc_asinf:
1064 case LibFunc_asinf_finite:
10131065 case LibFunc_asinh:
10141066 case LibFunc_asinhf:
10151067 case LibFunc_asinhl:
10161068 case LibFunc_asinl:
1069 case LibFunc_asinl_finite:
10171070 case LibFunc_atan:
10181071 case LibFunc_atanf:
10191072 case LibFunc_atanh:
1073 case LibFunc_atanh_finite:
10201074 case LibFunc_atanhf:
1075 case LibFunc_atanhf_finite:
10211076 case LibFunc_atanhl:
1077 case LibFunc_atanhl_finite:
10221078 case LibFunc_atanl:
10231079 case LibFunc_cbrt:
10241080 case LibFunc_cbrtf:
10291085 case LibFunc_cos:
10301086 case LibFunc_cosf:
10311087 case LibFunc_cosh:
1088 case LibFunc_cosh_finite:
10321089 case LibFunc_coshf:
1090 case LibFunc_coshf_finite:
10331091 case LibFunc_coshl:
1092 case LibFunc_coshl_finite:
10341093 case LibFunc_cosl:
10351094 case LibFunc_exp10:
1095 case LibFunc_exp10_finite:
10361096 case LibFunc_exp10f:
1097 case LibFunc_exp10f_finite:
10371098 case LibFunc_exp10l:
1099 case LibFunc_exp10l_finite:
10381100 case LibFunc_exp2:
1101 case LibFunc_exp2_finite:
10391102 case LibFunc_exp2f:
1103 case LibFunc_exp2f_finite:
10401104 case LibFunc_exp2l:
1105 case LibFunc_exp2l_finite:
10411106 case LibFunc_exp:
1107 case LibFunc_exp_finite:
10421108 case LibFunc_expf:
1109 case LibFunc_expf_finite:
10431110 case LibFunc_expl:
1111 case LibFunc_expl_finite:
10441112 case LibFunc_expm1:
10451113 case LibFunc_expm1f:
10461114 case LibFunc_expm1l:
10511119 case LibFunc_floorf:
10521120 case LibFunc_floorl:
10531121 case LibFunc_log10:
1122 case LibFunc_log10_finite:
10541123 case LibFunc_log10f:
1124 case LibFunc_log10f_finite:
10551125 case LibFunc_log10l:
1126 case LibFunc_log10l_finite:
10561127 case LibFunc_log1p:
10571128 case LibFunc_log1pf:
10581129 case LibFunc_log1pl:
10591130 case LibFunc_log2:
1131 case LibFunc_log2_finite:
10601132 case LibFunc_log2f:
1133 case LibFunc_log2f_finite:
10611134 case LibFunc_log2l:
1135 case LibFunc_log2l_finite:
10621136 case LibFunc_log:
1137 case LibFunc_log_finite:
10631138 case LibFunc_logb:
10641139 case LibFunc_logbf:
10651140 case LibFunc_logbl:
10661141 case LibFunc_logf:
1142 case LibFunc_logf_finite:
10671143 case LibFunc_logl:
1144 case LibFunc_logl_finite:
10681145 case LibFunc_nearbyint:
10691146 case LibFunc_nearbyintf:
10701147 case LibFunc_nearbyintl:
10771154 case LibFunc_sin:
10781155 case LibFunc_sinf:
10791156 case LibFunc_sinh:
1157 case LibFunc_sinh_finite:
10801158 case LibFunc_sinhf:
1159 case LibFunc_sinhf_finite:
10811160 case LibFunc_sinhl:
1161 case LibFunc_sinhl_finite:
10821162 case LibFunc_sinl:
10831163 case LibFunc_sqrt:
10841164 case LibFunc_sqrt_finite:
10991179 FTy.getReturnType() == FTy.getParamType(0));
11001180
11011181 case LibFunc_atan2:
1182 case LibFunc_atan2_finite:
11021183 case LibFunc_atan2f:
1184 case LibFunc_atan2f_finite:
11031185 case LibFunc_atan2l:
1186 case LibFunc_atan2l_finite:
11041187 case LibFunc_fmin:
11051188 case LibFunc_fminf:
11061189 case LibFunc_fminl:
11141197 case LibFunc_copysignf:
11151198 case LibFunc_copysignl:
11161199 case LibFunc_pow:
1200 case LibFunc_pow_finite:
11171201 case LibFunc_powf:
1202 case LibFunc_powf_finite:
11181203 case LibFunc_powl:
1204 case LibFunc_powl_finite:
11191205 return (NumParams == 2 && FTy.getReturnType()->isFloatingPointTy() &&
11201206 FTy.getReturnType() == FTy.getParamType(0) &&
11211207 FTy.getReturnType() == FTy.getParamType(1));
2121 ; Use an opaque pointer type for all the (possibly opaque) structs.
2222 %opaque = type opaque
2323
24 ; CHECK: declare double @__acos_finite(double)
25 declare double @__acos_finite(double)
26
27 ; CHECK: declare float @__acosf_finite(float)
28 declare float @__acosf_finite(float)
29
30 ; CHECK: declare double @__acosh_finite(double)
31 declare double @__acosh_finite(double)
32
33 ; CHECK: declare float @__acoshf_finite(float)
34 declare float @__acoshf_finite(float)
35
36 ; CHECK: declare x86_fp80 @__acoshl_finite(x86_fp80)
37 declare x86_fp80 @__acoshl_finite(x86_fp80)
38
39 ; CHECK: declare x86_fp80 @__acosl_finite(x86_fp80)
40 declare x86_fp80 @__acosl_finite(x86_fp80)
41
42 ; CHECK: declare double @__asin_finite(double)
43 declare double @__asin_finite(double)
44
45 ; CHECK: declare float @__asinf_finite(float)
46 declare float @__asinf_finite(float)
47
48 ; CHECK: declare x86_fp80 @__asinl_finite(x86_fp80)
49 declare x86_fp80 @__asinl_finite(x86_fp80)
50
51 ; CHECK: declare double @__atan2_finite(double, double)
52 declare double @__atan2_finite(double, double)
53
54 ; CHECK: declare float @__atan2f_finite(float, float)
55 declare float @__atan2f_finite(float, float)
56
57 ; CHECK: declare x86_fp80 @__atan2l_finite(x86_fp80, x86_fp80)
58 declare x86_fp80 @__atan2l_finite(x86_fp80, x86_fp80)
59
60 ; CHECK: declare double @__atanh_finite(double)
61 declare double @__atanh_finite(double)
62
63 ; CHECK: declare float @__atanhf_finite(float)
64 declare float @__atanhf_finite(float)
65
66 ; CHECK: declare x86_fp80 @__atanhl_finite(x86_fp80)
67 declare x86_fp80 @__atanhl_finite(x86_fp80)
68
69 ; CHECK: declare double @__cosh_finite(double)
70 declare double @__cosh_finite(double)
71
72 ; CHECK: declare float @__coshf_finite(float)
73 declare float @__coshf_finite(float)
74
75 ; CHECK: declare x86_fp80 @__coshl_finite(x86_fp80)
76 declare x86_fp80 @__coshl_finite(x86_fp80)
77
2478 ; CHECK: declare double @__cospi(double)
2579 declare double @__cospi(double)
2680
2781 ; CHECK: declare float @__cospif(float)
2882 declare float @__cospif(float)
83
84 ; CHECK: declare double @__exp10_finite(double)
85 declare double @__exp10_finite(double)
86
87 ; CHECK: declare float @__exp10f_finite(float)
88 declare float @__exp10f_finite(float)
89
90 ; CHECK: declare x86_fp80 @__exp10l_finite(x86_fp80)
91 declare x86_fp80 @__exp10l_finite(x86_fp80)
92
93 ; CHECK: declare double @__exp2_finite(double)
94 declare double @__exp2_finite(double)
95
96 ; CHECK: declare float @__exp2f_finite(float)
97 declare float @__exp2f_finite(float)
98
99 ; CHECK: declare x86_fp80 @__exp2l_finite(x86_fp80)
100 declare x86_fp80 @__exp2l_finite(x86_fp80)
101
102 ; CHECK: declare double @__exp_finite(double)
103 declare double @__exp_finite(double)
104
105 ; CHECK: declare float @__expf_finite(float)
106 declare float @__expf_finite(float)
107
108 ; CHECK: declare x86_fp80 @__expl_finite(x86_fp80)
109 declare x86_fp80 @__expl_finite(x86_fp80)
110
111 ; CHECK: declare double @__log10_finite(double)
112 declare double @__log10_finite(double)
113
114 ; CHECK: declare float @__log10f_finite(float)
115 declare float @__log10f_finite(float)
116
117 ; CHECK: declare x86_fp80 @__log10l_finite(x86_fp80)
118 declare x86_fp80 @__log10l_finite(x86_fp80)
119
120 ; CHECK: declare double @__log2_finite(double)
121 declare double @__log2_finite(double)
122
123 ; CHECK: declare float @__log2f_finite(float)
124 declare float @__log2f_finite(float)
125
126 ; CHECK: declare x86_fp80 @__log2l_finite(x86_fp80)
127 declare x86_fp80 @__log2l_finite(x86_fp80)
128
129 ; CHECK: declare double @__log_finite(double)
130 declare double @__log_finite(double)
131
132 ; CHECK: declare float @__logf_finite(float)
133 declare float @__logf_finite(float)
134
135 ; CHECK: declare x86_fp80 @__logl_finite(x86_fp80)
136 declare x86_fp80 @__logl_finite(x86_fp80)
137
138 ; CHECK: declare double @__pow_finite(double, double)
139 declare double @__pow_finite(double, double)
140
141 ; CHECK: declare float @__powf_finite(float, float)
142 declare float @__powf_finite(float, float)
143
144 ; CHECK: declare x86_fp80 @__powl_finite(x86_fp80, x86_fp80)
145 declare x86_fp80 @__powl_finite(x86_fp80, x86_fp80)
146
147 ; CHECK: declare double @__sinh_finite(double)
148 declare double @__sinh_finite(double)
149
150 ; CHECK: declare float @__sinhf_finite(float)
151 declare float @__sinhf_finite(float)
152
153 ; CHECK: declare x86_fp80 @__sinhl_finite(x86_fp80)
154 declare x86_fp80 @__sinhl_finite(x86_fp80)
29155
30156 ; CHECK: declare double @__sinpi(double)
31157 declare double @__sinpi(double)
22
33 ; Check that we don't modify libc functions with invalid prototypes.
44
5 ; CHECK: declare void @__acos_finite(...)
6 declare void @__acos_finite(...)
7
8 ; CHECK: declare void @__acosf_finite(...)
9 declare void @__acosf_finite(...)
10
11 ; CHECK: declare void @__acosh_finite(...)
12 declare void @__acosh_finite(...)
13
14 ; CHECK: declare void @__acoshf_finite(...)
15 declare void @__acoshf_finite(...)
16
17 ; CHECK: declare void @__acoshl_finite(...)
18 declare void @__acoshl_finite(...)
19
20 ; CHECK: declare void @__acosl_finite(...)
21 declare void @__acosl_finite(...)
22
23 ; CHECK: declare void @__asin_finite(...)
24 declare void @__asin_finite(...)
25
26 ; CHECK: declare void @__asinf_finite(...)
27 declare void @__asinf_finite(...)
28
29 ; CHECK: declare void @__asinl_finite(...)
30 declare void @__asinl_finite(...)
31
32 ; CHECK: declare void @__atan2_finite(...)
33 declare void @__atan2_finite(...)
34
35 ; CHECK: declare void @__atan2f_finite(...)
36 declare void @__atan2f_finite(...)
37
38 ; CHECK: declare void @__atan2l_finite(...)
39 declare void @__atan2l_finite(...)
40
41 ; CHECK: declare void @__atanh_finite(...)
42 declare void @__atanh_finite(...)
43
44 ; CHECK: declare void @__atanhf_finite(...)
45 declare void @__atanhf_finite(...)
46
47 ; CHECK: declare void @__atanhl_finite(...)
48 declare void @__atanhl_finite(...)
49
50 ; CHECK: declare void @__cosh_finite(...)
51 declare void @__cosh_finite(...)
52
53 ; CHECK: declare void @__coshf_finite(...)
54 declare void @__coshf_finite(...)
55
56 ; CHECK: declare void @__coshl_finite(...)
57 declare void @__coshl_finite(...)
58
559 ; CHECK: declare void @__cospi(...)
660 declare void @__cospi(...)
761
862 ; CHECK: declare void @__cospif(...)
963 declare void @__cospif(...)
1064
65 ; CHECK: declare void @__exp10_finite(...)
66 declare void @__exp10_finite(...)
67
68 ; CHECK: declare void @__exp10f_finite(...)
69 declare void @__exp10f_finite(...)
70
71 ; CHECK: declare void @__exp10l_finite(...)
72 declare void @__exp10l_finite(...)
73
74 ; CHECK: declare void @__exp2_finite(...)
75 declare void @__exp2_finite(...)
76
77 ; CHECK: declare void @__exp2f_finite(...)
78 declare void @__exp2f_finite(...)
79
80 ; CHECK: declare void @__exp2l_finite(...)
81 declare void @__exp2l_finite(...)
82
83 ; CHECK: declare void @__exp_finite(...)
84 declare void @__exp_finite(...)
85
86 ; CHECK: declare void @__expf_finite(...)
87 declare void @__expf_finite(...)
88
89 ; CHECK: declare void @__expl_finite(...)
90 declare void @__expl_finite(...)
91
92 ; CHECK: declare void @__log10_finite(...)
93 declare void @__log10_finite(...)
94
95 ; CHECK: declare void @__log10f_finite(...)
96 declare void @__log10f_finite(...)
97
98 ; CHECK: declare void @__log10l_finite(...)
99 declare void @__log10l_finite(...)
100
101 ; CHECK: declare void @__log2_finite(...)
102 declare void @__log2_finite(...)
103
104 ; CHECK: declare void @__log2f_finite(...)
105 declare void @__log2f_finite(...)
106
107 ; CHECK: declare void @__log2l_finite(...)
108 declare void @__log2l_finite(...)
109
110 ; CHECK: declare void @__log_finite(...)
111 declare void @__log_finite(...)
112
113 ; CHECK: declare void @__logf_finite(...)
114 declare void @__logf_finite(...)
115
116 ; CHECK: declare void @__logl_finite(...)
117 declare void @__logl_finite(...)
118
119 ; CHECK: declare void @__pow_finite(...)
120 declare void @__pow_finite(...)
121
122 ; CHECK: declare void @__powf_finite(...)
123 declare void @__powf_finite(...)
124
125 ; CHECK: declare void @__powl_finite(...)
126 declare void @__powl_finite(...)
127
128 ; CHECK: declare void @__sinh_finite(...)
129 declare void @__sinh_finite(...)
130
131 ; CHECK: declare void @__sinhf_finite(...)
132 declare void @__sinhf_finite(...)
133
134 ; CHECK: declare void @__sinhl_finite(...)
135 declare void @__sinhl_finite(...)
136
11137 ; CHECK: declare void @__sinpi(...)
12138 declare void @__sinpi(...)
13139
469469 "declare i32 @isascii(i32)\n"
470470 "declare i32 @isdigit(i32)\n"
471471 "declare i32 @toascii(i32)\n"
472
473 // These functions were extracted from math-finite.h which provides
474 // functions similar to those in math.h, but optimized for handling
475 // finite values only.
476 "declare double @__acos_finite(double)\n"
477 "declare float @__acosf_finite(float)\n"
478 "declare x86_fp80 @__acosl_finite(x86_fp80)\n"
479 "declare double @__acosh_finite(double)\n"
480 "declare float @__acoshf_finite(float)\n"
481 "declare x86_fp80 @__acoshl_finite(x86_fp80)\n"
482 "declare double @__asin_finite(double)\n"
483 "declare float @__asinf_finite(float)\n"
484 "declare x86_fp80 @__asinl_finite(x86_fp80)\n"
485 "declare double @__atan2_finite(double, double)\n"
486 "declare float @__atan2f_finite(float, float)\n"
487 "declare x86_fp80 @__atan2l_finite(x86_fp80, x86_fp80)\n"
488 "declare double @__atanh_finite(double)\n"
489 "declare float @__atanhf_finite(float)\n"
490 "declare x86_fp80 @__atanhl_finite(x86_fp80)\n"
491 "declare double @__cosh_finite(double)\n"
492 "declare float @__coshf_finite(float)\n"
493 "declare x86_fp80 @__coshl_finite(x86_fp80)\n"
494 "declare double @__exp10_finite(double)\n"
495 "declare float @__exp10f_finite(float)\n"
496 "declare x86_fp80 @__exp10l_finite(x86_fp80)\n"
497 "declare double @__exp2_finite(double)\n"
498 "declare float @__exp2f_finite(float)\n"
499 "declare x86_fp80 @__exp2l_finite(x86_fp80)\n"
500 "declare double @__exp_finite(double)\n"
501 "declare float @__expf_finite(float)\n"
502 "declare x86_fp80 @__expl_finite(x86_fp80)\n"
503 "declare double @__log10_finite(double)\n"
504 "declare float @__log10f_finite(float)\n"
505 "declare x86_fp80 @__log10l_finite(x86_fp80)\n"
506 "declare double @__log2_finite(double)\n"
507 "declare float @__log2f_finite(float)\n"
508 "declare x86_fp80 @__log2l_finite(x86_fp80)\n"
509 "declare double @__log_finite(double)\n"
510 "declare float @__logf_finite(float)\n"
511 "declare x86_fp80 @__logl_finite(x86_fp80)\n"
512 "declare double @__pow_finite(double, double)\n"
513 "declare float @__powf_finite(float, float)\n"
514 "declare x86_fp80 @__powl_finite(x86_fp80, x86_fp80)\n"
515 "declare double @__sinh_finite(double)\n"
516 "declare float @__sinhf_finite(float)\n"
517 "declare x86_fp80 @__sinhl_finite(x86_fp80)\n"
472518 );
473519
474520 for (unsigned FI = 0; FI != LibFunc::NumLibFuncs; ++FI) {