xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/libcall-declarations.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-apple-darwin12 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=CHECK-NOERRNO
2*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-linux-gnu -S -o - -emit-llvm -fmath-errno %s | FileCheck %s -check-prefix=CHECK-ERRNO
3*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-apple-darwin12 -S -o - -emit-llvm -x c++ %s | FileCheck %s -check-prefix=CHECK-NOERRNO
4*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-linux-gnu -S -o - -emit-llvm -x c++ -fmath-errno %s | FileCheck %s -check-prefix=CHECK-ERRNO
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc // Prototypes.
7*f4a2713aSLionel Sambuc #ifdef __cplusplus
8*f4a2713aSLionel Sambuc extern "C" {
9*f4a2713aSLionel Sambuc #endif
10*f4a2713aSLionel Sambuc double atan2(double, double);
11*f4a2713aSLionel Sambuc float atan2f(float, float);
12*f4a2713aSLionel Sambuc long double atan2l(long double, long double);
13*f4a2713aSLionel Sambuc int abs(int);
14*f4a2713aSLionel Sambuc long int labs(long int);
15*f4a2713aSLionel Sambuc long long int llabs(long long int);
16*f4a2713aSLionel Sambuc double copysign(double, double);
17*f4a2713aSLionel Sambuc float copysignf(float, float);
18*f4a2713aSLionel Sambuc long double copysignl(long double, long double);
19*f4a2713aSLionel Sambuc double fabs(double);
20*f4a2713aSLionel Sambuc float fabsf(float);
21*f4a2713aSLionel Sambuc long double fabsl(long double);
22*f4a2713aSLionel Sambuc double fmod(double, double);
23*f4a2713aSLionel Sambuc float fmodf(float, float);
24*f4a2713aSLionel Sambuc long double fmodl(long double, long double);
25*f4a2713aSLionel Sambuc double frexp(double, int *);
26*f4a2713aSLionel Sambuc float frexpf(float, int *);
27*f4a2713aSLionel Sambuc long double frexpl(long double, int *);
28*f4a2713aSLionel Sambuc double ldexp(double, int);
29*f4a2713aSLionel Sambuc float ldexpf(float, int);
30*f4a2713aSLionel Sambuc long double ldexpl(long double, int);
31*f4a2713aSLionel Sambuc double modf(double, double *);
32*f4a2713aSLionel Sambuc float modff(float, float *);
33*f4a2713aSLionel Sambuc long double modfl(long double, long double *);
34*f4a2713aSLionel Sambuc double nan(const char *);
35*f4a2713aSLionel Sambuc float nanf(const char *);
36*f4a2713aSLionel Sambuc long double nanl(const char *);
37*f4a2713aSLionel Sambuc double pow(double, double);
38*f4a2713aSLionel Sambuc float powf(float, float);
39*f4a2713aSLionel Sambuc long double powl(long double, long double);
40*f4a2713aSLionel Sambuc double acos(double);
41*f4a2713aSLionel Sambuc float acosf(float);
42*f4a2713aSLionel Sambuc long double acosl(long double);
43*f4a2713aSLionel Sambuc double acosh(double);
44*f4a2713aSLionel Sambuc float acoshf(float);
45*f4a2713aSLionel Sambuc long double acoshl(long double);
46*f4a2713aSLionel Sambuc double asin(double);
47*f4a2713aSLionel Sambuc float asinf(float);
48*f4a2713aSLionel Sambuc long double asinl(long double);
49*f4a2713aSLionel Sambuc double asinh(double);
50*f4a2713aSLionel Sambuc float asinhf(float);
51*f4a2713aSLionel Sambuc long double asinhl(long double);
52*f4a2713aSLionel Sambuc double atan(double);
53*f4a2713aSLionel Sambuc float atanf(float);
54*f4a2713aSLionel Sambuc long double atanl( long double);
55*f4a2713aSLionel Sambuc double atanh(double);
56*f4a2713aSLionel Sambuc float atanhf(float);
57*f4a2713aSLionel Sambuc long double atanhl(long double);
58*f4a2713aSLionel Sambuc double cbrt(double);
59*f4a2713aSLionel Sambuc float cbrtf(float);
60*f4a2713aSLionel Sambuc long double cbrtl(long double);
61*f4a2713aSLionel Sambuc double ceil(double);
62*f4a2713aSLionel Sambuc float ceilf(float);
63*f4a2713aSLionel Sambuc long double ceill(long double);
64*f4a2713aSLionel Sambuc double cos(double);
65*f4a2713aSLionel Sambuc float cosf(float);
66*f4a2713aSLionel Sambuc long double cosl(long double);
67*f4a2713aSLionel Sambuc double cosh(double);
68*f4a2713aSLionel Sambuc float coshf(float);
69*f4a2713aSLionel Sambuc long double coshl(long double);
70*f4a2713aSLionel Sambuc double erf(double);
71*f4a2713aSLionel Sambuc float erff(float);
72*f4a2713aSLionel Sambuc long double erfl(long double);
73*f4a2713aSLionel Sambuc double erfc(double);
74*f4a2713aSLionel Sambuc float erfcf(float);
75*f4a2713aSLionel Sambuc long double erfcl(long double);
76*f4a2713aSLionel Sambuc double exp(double);
77*f4a2713aSLionel Sambuc float expf(float);
78*f4a2713aSLionel Sambuc long double expl(long double);
79*f4a2713aSLionel Sambuc double exp2(double);
80*f4a2713aSLionel Sambuc float exp2f(float);
81*f4a2713aSLionel Sambuc long double exp2l(long double);
82*f4a2713aSLionel Sambuc double expm1(double);
83*f4a2713aSLionel Sambuc float expm1f(float);
84*f4a2713aSLionel Sambuc long double expm1l(long double);
85*f4a2713aSLionel Sambuc double fdim(double, double);
86*f4a2713aSLionel Sambuc float fdimf(float, float);
87*f4a2713aSLionel Sambuc long double fdiml(long double, long double);
88*f4a2713aSLionel Sambuc double floor(double);
89*f4a2713aSLionel Sambuc float floorf(float);
90*f4a2713aSLionel Sambuc long double floorl(long double);
91*f4a2713aSLionel Sambuc double fma(double, double, double);
92*f4a2713aSLionel Sambuc float fmaf(float, float, float);
93*f4a2713aSLionel Sambuc long double fmal(long double, long double, long double);
94*f4a2713aSLionel Sambuc double fmax(double, double);
95*f4a2713aSLionel Sambuc float fmaxf(float, float);
96*f4a2713aSLionel Sambuc long double fmaxl(long double, long double);
97*f4a2713aSLionel Sambuc double fmin(double, double);
98*f4a2713aSLionel Sambuc float fminf(float, float);
99*f4a2713aSLionel Sambuc long double fminl(long double, long double);
100*f4a2713aSLionel Sambuc double hypot(double, double);
101*f4a2713aSLionel Sambuc float hypotf(float, float);
102*f4a2713aSLionel Sambuc long double hypotl(long double, long double);
103*f4a2713aSLionel Sambuc int ilogb(double);
104*f4a2713aSLionel Sambuc int ilogbf(float);
105*f4a2713aSLionel Sambuc int ilogbl(long double);
106*f4a2713aSLionel Sambuc double lgamma(double);
107*f4a2713aSLionel Sambuc float lgammaf(float);
108*f4a2713aSLionel Sambuc long double lgammal(long double);
109*f4a2713aSLionel Sambuc long long int llrint(double);
110*f4a2713aSLionel Sambuc long long int llrintf(float);
111*f4a2713aSLionel Sambuc long long int llrintl(long double);
112*f4a2713aSLionel Sambuc long long int llround(double);
113*f4a2713aSLionel Sambuc long long int llroundf(float);
114*f4a2713aSLionel Sambuc long long int llroundl(long double);
115*f4a2713aSLionel Sambuc double log(double);
116*f4a2713aSLionel Sambuc float logf(float);
117*f4a2713aSLionel Sambuc long double logl(long double);
118*f4a2713aSLionel Sambuc double log10(double);
119*f4a2713aSLionel Sambuc float log10f(float);
120*f4a2713aSLionel Sambuc long double log10l(long double);
121*f4a2713aSLionel Sambuc double log1p(double);
122*f4a2713aSLionel Sambuc float log1pf(float);
123*f4a2713aSLionel Sambuc long double log1pl(long double);
124*f4a2713aSLionel Sambuc double log2(double);
125*f4a2713aSLionel Sambuc float log2f(float);
126*f4a2713aSLionel Sambuc long double log2l(long double);
127*f4a2713aSLionel Sambuc double logb(double);
128*f4a2713aSLionel Sambuc float logbf(float);
129*f4a2713aSLionel Sambuc long double logbl(long double);
130*f4a2713aSLionel Sambuc long int lrint(double);
131*f4a2713aSLionel Sambuc long int lrintf(float);
132*f4a2713aSLionel Sambuc long int lrintl(long double);
133*f4a2713aSLionel Sambuc long int lround(double);
134*f4a2713aSLionel Sambuc long int lroundf(float);
135*f4a2713aSLionel Sambuc long int lroundl(long double);
136*f4a2713aSLionel Sambuc double nearbyint(double);
137*f4a2713aSLionel Sambuc float nearbyintf(float);
138*f4a2713aSLionel Sambuc long double nearbyintl(long double);
139*f4a2713aSLionel Sambuc double nextafter(double, double);
140*f4a2713aSLionel Sambuc float nextafterf(float, float);
141*f4a2713aSLionel Sambuc long double nextafterl(long double, long double);
142*f4a2713aSLionel Sambuc double nexttoward(double, long double);
143*f4a2713aSLionel Sambuc float nexttowardf(float, long double);
144*f4a2713aSLionel Sambuc long double nexttowardl(long double, long double);
145*f4a2713aSLionel Sambuc double remainder(double, double);
146*f4a2713aSLionel Sambuc float remainderf(float, float);
147*f4a2713aSLionel Sambuc long double remainderl(long double, long double);
148*f4a2713aSLionel Sambuc double rint(double);
149*f4a2713aSLionel Sambuc float rintf(float);
150*f4a2713aSLionel Sambuc long double rintl(long double);
151*f4a2713aSLionel Sambuc double round(double);
152*f4a2713aSLionel Sambuc float roundf(float);
153*f4a2713aSLionel Sambuc long double roundl(long double);
154*f4a2713aSLionel Sambuc double scalbln(double, long int exp);
155*f4a2713aSLionel Sambuc float scalblnf(float, long int exp);
156*f4a2713aSLionel Sambuc long double scalblnl(long double, long int exp);
157*f4a2713aSLionel Sambuc double scalbn(double, int exp);
158*f4a2713aSLionel Sambuc float scalbnf(float, int exp);
159*f4a2713aSLionel Sambuc long double scalbnl(long double, int exp);
160*f4a2713aSLionel Sambuc double sin(double);
161*f4a2713aSLionel Sambuc float sinf(float);
162*f4a2713aSLionel Sambuc long double sinl(long double);
163*f4a2713aSLionel Sambuc double sinh(double);
164*f4a2713aSLionel Sambuc float sinhf(float);
165*f4a2713aSLionel Sambuc long double sinhl(long double);
166*f4a2713aSLionel Sambuc double sqrt(double);
167*f4a2713aSLionel Sambuc float sqrtf(float);
168*f4a2713aSLionel Sambuc long double sqrtl(long double);
169*f4a2713aSLionel Sambuc double tan(double);
170*f4a2713aSLionel Sambuc float tanf(float);
171*f4a2713aSLionel Sambuc long double tanl(long double);
172*f4a2713aSLionel Sambuc double tanh(double);
173*f4a2713aSLionel Sambuc float tanhf(float);
174*f4a2713aSLionel Sambuc long double tanhl(long double);
175*f4a2713aSLionel Sambuc double tgamma(double);
176*f4a2713aSLionel Sambuc float tgammaf(float);
177*f4a2713aSLionel Sambuc long double tgammal(long double);
178*f4a2713aSLionel Sambuc double trunc(double);
179*f4a2713aSLionel Sambuc float truncf(float);
180*f4a2713aSLionel Sambuc long double truncl(long double);
181*f4a2713aSLionel Sambuc double cabs(double _Complex);
182*f4a2713aSLionel Sambuc float cabsf(float _Complex);
183*f4a2713aSLionel Sambuc long double cabsl(long double _Complex);
184*f4a2713aSLionel Sambuc double _Complex cacos(double _Complex);
185*f4a2713aSLionel Sambuc float _Complex cacosf(float _Complex);
186*f4a2713aSLionel Sambuc long double _Complex cacosl(long double _Complex);
187*f4a2713aSLionel Sambuc double _Complex cacosh(double _Complex);
188*f4a2713aSLionel Sambuc float _Complex cacoshf(float _Complex);
189*f4a2713aSLionel Sambuc long double _Complex cacoshl(long double _Complex);
190*f4a2713aSLionel Sambuc double carg(double _Complex);
191*f4a2713aSLionel Sambuc float cargf(float _Complex);
192*f4a2713aSLionel Sambuc long double cargl(long double _Complex);
193*f4a2713aSLionel Sambuc double _Complex casin(double _Complex);
194*f4a2713aSLionel Sambuc float _Complex casinf(float _Complex);
195*f4a2713aSLionel Sambuc long double _Complex casinl(long double _Complex);
196*f4a2713aSLionel Sambuc double _Complex casinh(double _Complex);
197*f4a2713aSLionel Sambuc float _Complex casinhf(float _Complex);
198*f4a2713aSLionel Sambuc long double _Complex casinhl(long double _Complex);
199*f4a2713aSLionel Sambuc double _Complex catan(double _Complex);
200*f4a2713aSLionel Sambuc float _Complex catanf(float _Complex);
201*f4a2713aSLionel Sambuc long double _Complex catanl(long double _Complex);
202*f4a2713aSLionel Sambuc double _Complex catanh(double _Complex);
203*f4a2713aSLionel Sambuc float _Complex catanhf(float _Complex);
204*f4a2713aSLionel Sambuc long double _Complex catanhl(long double _Complex);
205*f4a2713aSLionel Sambuc double _Complex ccos(double _Complex);
206*f4a2713aSLionel Sambuc float _Complex ccosf(float _Complex);
207*f4a2713aSLionel Sambuc long double _Complex ccosl(long double _Complex);
208*f4a2713aSLionel Sambuc double _Complex ccosh(double _Complex);
209*f4a2713aSLionel Sambuc float _Complex ccoshf(float _Complex);
210*f4a2713aSLionel Sambuc long double _Complex ccoshl(long double _Complex);
211*f4a2713aSLionel Sambuc double _Complex cexp(double _Complex);
212*f4a2713aSLionel Sambuc float _Complex cexpf(float _Complex);
213*f4a2713aSLionel Sambuc long double _Complex cexpl(long double _Complex);
214*f4a2713aSLionel Sambuc double cimag(double _Complex);
215*f4a2713aSLionel Sambuc float cimagf(float _Complex);
216*f4a2713aSLionel Sambuc long double cimagl(long double _Complex);
217*f4a2713aSLionel Sambuc double _Complex conj(double _Complex);
218*f4a2713aSLionel Sambuc float _Complex conjf(float _Complex);
219*f4a2713aSLionel Sambuc long double _Complex conjl(long double _Complex);
220*f4a2713aSLionel Sambuc double _Complex clog(double _Complex);
221*f4a2713aSLionel Sambuc float _Complex clogf(float _Complex);
222*f4a2713aSLionel Sambuc long double _Complex clogl(long double _Complex);
223*f4a2713aSLionel Sambuc double _Complex cproj(double _Complex);
224*f4a2713aSLionel Sambuc float _Complex cprojf(float _Complex);
225*f4a2713aSLionel Sambuc long double _Complex cprojl(long double _Complex);
226*f4a2713aSLionel Sambuc double _Complex cpow(double _Complex, _Complex double);
227*f4a2713aSLionel Sambuc float _Complex cpowf(float _Complex, _Complex float);
228*f4a2713aSLionel Sambuc long double _Complex cpowl(long double _Complex, _Complex long double);
229*f4a2713aSLionel Sambuc double creal(double _Complex);
230*f4a2713aSLionel Sambuc float crealf(float _Complex);
231*f4a2713aSLionel Sambuc long double creall(long double _Complex);
232*f4a2713aSLionel Sambuc double _Complex csin(double _Complex);
233*f4a2713aSLionel Sambuc float _Complex csinf(float _Complex);
234*f4a2713aSLionel Sambuc long double _Complex csinl(long double _Complex);
235*f4a2713aSLionel Sambuc double _Complex csinh(double _Complex);
236*f4a2713aSLionel Sambuc float _Complex csinhf(float _Complex);
237*f4a2713aSLionel Sambuc long double _Complex csinhl(long double _Complex);
238*f4a2713aSLionel Sambuc double _Complex csqrt(double _Complex);
239*f4a2713aSLionel Sambuc float _Complex csqrtf(float _Complex);
240*f4a2713aSLionel Sambuc long double _Complex csqrtl(long double _Complex);
241*f4a2713aSLionel Sambuc double _Complex ctan(double _Complex);
242*f4a2713aSLionel Sambuc float _Complex ctanf(float _Complex);
243*f4a2713aSLionel Sambuc long double _Complex ctanl(long double _Complex);
244*f4a2713aSLionel Sambuc double _Complex ctanh(double _Complex);
245*f4a2713aSLionel Sambuc float _Complex ctanhf(float _Complex);
246*f4a2713aSLionel Sambuc long double _Complex ctanhl(long double _Complex);
247*f4a2713aSLionel Sambuc #ifdef __cplusplus
248*f4a2713aSLionel Sambuc }
249*f4a2713aSLionel Sambuc #endif
250*f4a2713aSLionel Sambuc 
251*f4a2713aSLionel Sambuc // Force emission of the declare statements.
252*f4a2713aSLionel Sambuc #define F(x) ((void*)x)
253*f4a2713aSLionel Sambuc void *use[] = {
254*f4a2713aSLionel Sambuc   F(atan2),      F(atan2f),     F(atan2l),     F(abs),         F(labs),
255*f4a2713aSLionel Sambuc   F(llabs),      F(copysign),   F(copysignf),  F(copysignl),   F(fabs),
256*f4a2713aSLionel Sambuc   F(fabsf),      F(fabsl),      F(fmod),       F(fmodf),       F(fmodl),
257*f4a2713aSLionel Sambuc   F(frexp),      F(frexpf),     F(frexpl),     F(ldexp),       F(ldexpf),
258*f4a2713aSLionel Sambuc   F(ldexpl),     F(modf),       F(modff),      F(modfl),       F(nan),
259*f4a2713aSLionel Sambuc   F(nanf),       F(nanl),       F(pow),        F(powf),        F(powl),
260*f4a2713aSLionel Sambuc   F(acos),       F(acosf),      F(acosl),      F(acosh),       F(acoshf),
261*f4a2713aSLionel Sambuc   F(acoshl),     F(asin),       F(asinf),      F(asinl),       F(asinh),
262*f4a2713aSLionel Sambuc   F(asinhf),     F(asinhl),     F(atan),       F(atanf),       F(atanl),
263*f4a2713aSLionel Sambuc   F(atanh),      F(atanhf),     F(atanhl),     F(cbrt),        F(cbrtf),
264*f4a2713aSLionel Sambuc   F(cbrtl),      F(ceil),       F(ceilf),      F(ceill),       F(cos),
265*f4a2713aSLionel Sambuc   F(cosf),       F(cosl),       F(cosh),       F(coshf),       F(coshl),
266*f4a2713aSLionel Sambuc   F(erf),        F(erff),       F(erfl),       F(erfc),        F(erfcf),
267*f4a2713aSLionel Sambuc   F(erfcl),      F(exp),        F(expf),       F(expl),        F(exp2),
268*f4a2713aSLionel Sambuc   F(exp2f),      F(exp2l),      F(expm1),      F(expm1f),      F(expm1l),
269*f4a2713aSLionel Sambuc   F(fdim),       F(fdimf),      F(fdiml),      F(floor),       F(floorf),
270*f4a2713aSLionel Sambuc   F(floorl),     F(fma),        F(fmaf),       F(fmal),        F(fmax),
271*f4a2713aSLionel Sambuc   F(fmaxf),      F(fmaxl),      F(fmin),       F(fminf),       F(fminl),
272*f4a2713aSLionel Sambuc   F(hypot),      F(hypotf),     F(hypotl),     F(ilogb),       F(ilogbf),
273*f4a2713aSLionel Sambuc   F(ilogbl),     F(lgamma),     F(lgammaf),    F(lgammal),     F(llrint),
274*f4a2713aSLionel Sambuc   F(llrintf),    F(llrintl),    F(llround),    F(llroundf),    F(llroundl),
275*f4a2713aSLionel Sambuc   F(log),        F(logf),       F(logl),       F(log10),       F(log10f),
276*f4a2713aSLionel Sambuc   F(log10l),     F(log1p),      F(log1pf),     F(log1pl),      F(log2),
277*f4a2713aSLionel Sambuc   F(log2f),      F(log2l),      F(logb),       F(logbf),       F(logbl),
278*f4a2713aSLionel Sambuc   F(lrint),      F(lrintf),     F(lrintl),     F(lround),      F(lroundf),
279*f4a2713aSLionel Sambuc   F(lroundl),    F(nearbyint),  F(nearbyintf), F(nearbyintl),  F(nextafter),
280*f4a2713aSLionel Sambuc   F(nextafterf), F(nextafterl), F(nexttoward), F(nexttowardf), F(nexttowardl),
281*f4a2713aSLionel Sambuc   F(remainder),  F(remainderf), F(remainderl), F(rint),        F(rintf),
282*f4a2713aSLionel Sambuc   F(rintl),      F(round),      F(roundf),     F(roundl),      F(scalbln),
283*f4a2713aSLionel Sambuc   F(scalblnf),   F(scalblnl),   F(scalbn),     F(scalbnf),     F(scalbnl),
284*f4a2713aSLionel Sambuc   F(sin),        F(sinf),       F(sinl),       F(sinh),        F(sinhf),
285*f4a2713aSLionel Sambuc   F(sinhl),      F(sqrt),       F(sqrtf),      F(sqrtl),       F(tan),
286*f4a2713aSLionel Sambuc   F(tanf),       F(tanl),       F(tanh),       F(tanhf),       F(tanhl),
287*f4a2713aSLionel Sambuc   F(tgamma),     F(tgammaf),    F(tgammal),    F(trunc),       F(truncf),
288*f4a2713aSLionel Sambuc   F(truncl),     F(cabs),       F(cabsf),      F(cabsl),       F(cacos),
289*f4a2713aSLionel Sambuc   F(cacosf),     F(cacosl),     F(cacosh),     F(cacoshf),     F(cacoshl),
290*f4a2713aSLionel Sambuc   F(carg),       F(cargf),      F(cargl),      F(casin),       F(casinf),
291*f4a2713aSLionel Sambuc   F(casinl),     F(casinh),     F(casinhf),    F(casinhl),     F(catan),
292*f4a2713aSLionel Sambuc   F(catanf),     F(catanl),     F(catanh),     F(catanhf),     F(catanhl),
293*f4a2713aSLionel Sambuc   F(ccos),       F(ccosf),      F(ccosl),      F(ccosh),       F(ccoshf),
294*f4a2713aSLionel Sambuc   F(ccoshl),     F(cexp),       F(cexpf),      F(cexpl),       F(cimag),
295*f4a2713aSLionel Sambuc   F(cimagf),     F(cimagl),     F(conj),       F(conjf),       F(conjl),
296*f4a2713aSLionel Sambuc   F(clog),       F(clogf),      F(clogl),      F(cproj),       F(cprojf),
297*f4a2713aSLionel Sambuc   F(cprojl),     F(cpow),       F(cpowf),      F(cpowl),       F(creal),
298*f4a2713aSLionel Sambuc   F(crealf),     F(creall),     F(csin),       F(csinf),       F(csinl),
299*f4a2713aSLionel Sambuc   F(csinh),      F(csinhf),     F(csinhl),     F(csqrt),       F(csqrtf),
300*f4a2713aSLionel Sambuc   F(csqrtl),     F(ctan),       F(ctanf),      F(ctanl),       F(ctanh),
301*f4a2713aSLionel Sambuc   F(ctanhf),     F(ctanhl)
302*f4a2713aSLionel Sambuc };
303*f4a2713aSLionel Sambuc 
304*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @atan2(double, double) [[NUW:#[0-9]+]]
305*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @atan2f(float, float) [[NUW]]
306*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @atan2l(x86_fp80, x86_fp80) [[NUW]]
307*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i32 @abs(i32) [[NUW]]
308*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @labs(i64) [[NUW]]
309*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llabs(i64) [[NUW]]
310*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @copysign(double, double) [[NUW]]
311*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @copysignf(float, float) [[NUW]]
312*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @copysignl(x86_fp80, x86_fp80) [[NUW]]
313*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fabs(double) [[NUW]]
314*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fabsf(float) [[NUW]]
315*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fabsl(x86_fp80) [[NUW]]
316*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fmod(double, double) [[NUW]]
317*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fmodf(float, float) [[NUW]]
318*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fmodl(x86_fp80, x86_fp80) [[NUW]]
319*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @ldexp(double, i32) [[NUW]]
320*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @ldexpf(float, i32) [[NUW]]
321*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @ldexpl(x86_fp80, i32) [[NUW]]
322*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @nan(i8*) [[NUW]]
323*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @nanf(i8*) [[NUW]]
324*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @nanl(i8*) [[NUW]]
325*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @pow(double, double) [[NUW]]
326*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @powf(float, float) [[NUW]]
327*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @powl(x86_fp80, x86_fp80) [[NUW]]
328*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @acos(double) [[NUW]]
329*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @acosf(float) [[NUW]]
330*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @acosl(x86_fp80) [[NUW]]
331*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @acosh(double) [[NUW]]
332*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @acoshf(float) [[NUW]]
333*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @acoshl(x86_fp80) [[NUW]]
334*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @asin(double) [[NUW]]
335*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @asinf(float) [[NUW]]
336*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @asinl(x86_fp80) [[NUW]]
337*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @asinh(double) [[NUW]]
338*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @asinhf(float) [[NUW]]
339*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @asinhl(x86_fp80) [[NUW]]
340*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @atan(double) [[NUW]]
341*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @atanf(float) [[NUW]]
342*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @atanl(x86_fp80) [[NUW]]
343*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @atanh(double) [[NUW]]
344*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @atanhf(float) [[NUW]]
345*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @atanhl(x86_fp80) [[NUW]]
346*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @cbrt(double) [[NUW]]
347*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @cbrtf(float) [[NUW]]
348*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @cbrtl(x86_fp80) [[NUW]]
349*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @ceil(double) [[NUW]]
350*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @ceilf(float) [[NUW]]
351*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @ceill(x86_fp80) [[NUW]]
352*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @cos(double) [[NUW]]
353*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @cosf(float) [[NUW]]
354*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @cosl(x86_fp80) [[NUW]]
355*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @cosh(double) [[NUW]]
356*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @coshf(float) [[NUW]]
357*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @coshl(x86_fp80) [[NUW]]
358*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @erf(double) [[NUW]]
359*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @erff(float) [[NUW]]
360*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @erfl(x86_fp80) [[NUW]]
361*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @erfc(double) [[NUW]]
362*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @erfcf(float) [[NUW]]
363*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @erfcl(x86_fp80) [[NUW]]
364*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @exp(double) [[NUW]]
365*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @expf(float) [[NUW]]
366*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @expl(x86_fp80) [[NUW]]
367*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @exp2(double) [[NUW]]
368*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @exp2f(float) [[NUW]]
369*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @exp2l(x86_fp80) [[NUW]]
370*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @expm1(double) [[NUW]]
371*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @expm1f(float) [[NUW]]
372*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @expm1l(x86_fp80) [[NUW]]
373*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fdim(double, double) [[NUW]]
374*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fdimf(float, float) [[NUW]]
375*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fdiml(x86_fp80, x86_fp80) [[NUW]]
376*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @floor(double) [[NUW]]
377*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @floorf(float) [[NUW]]
378*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @floorl(x86_fp80) [[NUW]]
379*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fma(double, double, double) [[NUW]]
380*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fmaf(float, float, float) [[NUW]]
381*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fmal(x86_fp80, x86_fp80, x86_fp80) [[NUW]]
382*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fmax(double, double) [[NUW]]
383*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fmaxf(float, float) [[NUW]]
384*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fmaxl(x86_fp80, x86_fp80) [[NUW]]
385*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @fmin(double, double) [[NUW]]
386*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @fminf(float, float) [[NUW]]
387*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @fminl(x86_fp80, x86_fp80) [[NUW]]
388*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @hypot(double, double) [[NUW]]
389*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @hypotf(float, float) [[NUW]]
390*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @hypotl(x86_fp80, x86_fp80) [[NUW]]
391*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i32 @ilogb(double) [[NUW]]
392*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i32 @ilogbf(float) [[NUW]]
393*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i32 @ilogbl(x86_fp80) [[NUW]]
394*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @lgamma(double) [[NUW]]
395*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @lgammaf(float) [[NUW]]
396*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @lgammal(x86_fp80) [[NUW]]
397*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llrint(double) [[NUW]]
398*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llrintf(float) [[NUW]]
399*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llrintl(x86_fp80) [[NUW]]
400*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llround(double) [[NUW]]
401*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llroundf(float) [[NUW]]
402*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @llroundl(x86_fp80) [[NUW]]
403*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @log(double) [[NUW]]
404*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @logf(float) [[NUW]]
405*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @logl(x86_fp80) [[NUW]]
406*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @log10(double) [[NUW]]
407*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @log10f(float) [[NUW]]
408*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @log10l(x86_fp80) [[NUW]]
409*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @log1p(double) [[NUW]]
410*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @log1pf(float) [[NUW]]
411*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @log1pl(x86_fp80) [[NUW]]
412*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @log2(double) [[NUW]]
413*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @log2f(float) [[NUW]]
414*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @log2l(x86_fp80) [[NUW]]
415*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @logb(double) [[NUW]]
416*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @logbf(float) [[NUW]]
417*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @logbl(x86_fp80) [[NUW]]
418*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lrint(double) [[NUW]]
419*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lrintf(float) [[NUW]]
420*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lrintl(x86_fp80) [[NUW]]
421*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lround(double) [[NUW]]
422*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lroundf(float) [[NUW]]
423*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare i64 @lroundl(x86_fp80) [[NUW]]
424*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @nearbyint(double) [[NUW]]
425*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @nearbyintf(float) [[NUW]]
426*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @nearbyintl(x86_fp80) [[NUW]]
427*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @nextafter(double, double) [[NUW]]
428*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @nextafterf(float, float) [[NUW]]
429*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @nextafterl(x86_fp80, x86_fp80) [[NUW]]
430*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @nexttoward(double, x86_fp80) [[NUW]]
431*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @nexttowardf(float, x86_fp80) [[NUW]]
432*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @nexttowardl(x86_fp80, x86_fp80) [[NUW]]
433*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @remainder(double, double) [[NUW]]
434*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @remainderf(float, float) [[NUW]]
435*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @remainderl(x86_fp80, x86_fp80) [[NUW]]
436*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @rint(double) [[NUW]]
437*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @rintf(float) [[NUW]]
438*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @rintl(x86_fp80) [[NUW]]
439*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @round(double) [[NUW]]
440*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @roundf(float) [[NUW]]
441*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @roundl(x86_fp80) [[NUW]]
442*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @scalbln(double, i64) [[NUW]]
443*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @scalblnf(float, i64) [[NUW]]
444*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @scalblnl(x86_fp80, i64) [[NUW]]
445*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @scalbn(double, i32) [[NUW]]
446*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @scalbnf(float, i32) [[NUW]]
447*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @scalbnl(x86_fp80, i32) [[NUW]]
448*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @sin(double) [[NUW]]
449*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @sinf(float) [[NUW]]
450*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @sinl(x86_fp80) [[NUW]]
451*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @sinh(double) [[NUW]]
452*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @sinhf(float) [[NUW]]
453*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @sinhl(x86_fp80) [[NUW]]
454*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @sqrt(double) [[NUW]]
455*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @sqrtf(float) [[NUW]]
456*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @sqrtl(x86_fp80) [[NUW]]
457*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @tan(double) [[NUW]]
458*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @tanf(float) [[NUW]]
459*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @tanl(x86_fp80) [[NUW]]
460*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @tanh(double) [[NUW]]
461*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @tanhf(float) [[NUW]]
462*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @tanhl(x86_fp80) [[NUW]]
463*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @tgamma(double) [[NUW]]
464*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @tgammaf(float) [[NUW]]
465*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @tgammal(x86_fp80) [[NUW]]
466*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @trunc(double) [[NUW]]
467*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @truncf(float) [[NUW]]
468*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare x86_fp80 @truncl(x86_fp80) [[NUW]]
469*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @cabs(double, double) [[NUW]]
470*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @cabsf(<2 x float>) [[NUW]]
471*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @cacos(double, double) [[NUW]]
472*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @cacosf(<2 x float>) [[NUW]]
473*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @cacosh(double, double) [[NUW]]
474*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @cacoshf(<2 x float>) [[NUW]]
475*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @carg(double, double) [[NUW]]
476*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @cargf(<2 x float>) [[NUW]]
477*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @casin(double, double) [[NUW]]
478*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @casinf(<2 x float>) [[NUW]]
479*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @casinh(double, double) [[NUW]]
480*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @casinhf(<2 x float>) [[NUW]]
481*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @catan(double, double) [[NUW]]
482*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @catanf(<2 x float>) [[NUW]]
483*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @catanh(double, double) [[NUW]]
484*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @catanhf(<2 x float>) [[NUW]]
485*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @ccos(double, double) [[NUW]]
486*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @ccosf(<2 x float>) [[NUW]]
487*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @ccosh(double, double) [[NUW]]
488*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @ccoshf(<2 x float>) [[NUW]]
489*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @cexp(double, double) [[NUW]]
490*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @cexpf(<2 x float>) [[NUW]]
491*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @cimag(double, double) [[NUW]]
492*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @cimagf(<2 x float>) [[NUW]]
493*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @conj(double, double) [[NUW]]
494*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @conjf(<2 x float>) [[NUW]]
495*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @clog(double, double) [[NUW]]
496*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @clogf(<2 x float>) [[NUW]]
497*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @cproj(double, double) [[NUW]]
498*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @cprojf(<2 x float>) [[NUW]]
499*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @cpow(double, double, double, double) [[NUW]]
500*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @cpowf(<2 x float>, <2 x float>) [[NUW]]
501*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare double @creal(double, double) [[NUW]]
502*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare float @crealf(<2 x float>) [[NUW]]
503*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @csin(double, double) [[NUW]]
504*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @csinf(<2 x float>) [[NUW]]
505*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @csinh(double, double) [[NUW]]
506*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @csinhf(<2 x float>) [[NUW]]
507*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @csqrt(double, double) [[NUW]]
508*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @csqrtf(<2 x float>) [[NUW]]
509*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @ctan(double, double) [[NUW]]
510*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @ctanf(<2 x float>) [[NUW]]
511*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare { double, double } @ctanh(double, double) [[NUW]]
512*f4a2713aSLionel Sambuc // CHECK-NOERRNO: declare <2 x float> @ctanhf(<2 x float>) [[NUW]]
513*f4a2713aSLionel Sambuc 
514*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare i32 @abs(i32) [[NUW:#[0-9]+]]
515*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare i64 @labs(i64) [[NUW]]
516*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare i64 @llabs(i64) [[NUW]]
517*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @copysign(double, double) [[NUW]]
518*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @copysignf(float, float) [[NUW]]
519*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @copysignl(x86_fp80, x86_fp80) [[NUW]]
520*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @fabs(double) [[NUW]]
521*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @fabsf(float) [[NUW]]
522*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @fabsl(x86_fp80) [[NUW]]
523*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @nan(i8*) [[NUW]]
524*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @nanf(i8*) [[NUW]]
525*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @nanl(i8*) [[NUW]]
526*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @ceil(double) [[NUW]]
527*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @ceilf(float) [[NUW]]
528*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @ceill(x86_fp80) [[NUW]]
529*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @floor(double) [[NUW]]
530*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @floorf(float) [[NUW]]
531*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @floorl(x86_fp80) [[NUW]]
532*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @fmax(double, double) [[NUW]]
533*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @fmaxf(float, float) [[NUW]]
534*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @fmaxl(x86_fp80, x86_fp80) [[NUW]]
535*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @fmin(double, double) [[NUW]]
536*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @fminf(float, float) [[NUW]]
537*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @fminl(x86_fp80, x86_fp80) [[NUW]]
538*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @nearbyint(double) [[NUW]]
539*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @nearbyintf(float) [[NUW]]
540*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @nearbyintl(x86_fp80) [[NUW]]
541*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @rint(double) [[NUW]]
542*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @rintf(float) [[NUW]]
543*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @rintl(x86_fp80) [[NUW]]
544*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @round(double) [[NUW]]
545*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @roundf(float) [[NUW]]
546*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @roundl(x86_fp80) [[NUW]]
547*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @trunc(double) [[NUW]]
548*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @truncf(float) [[NUW]]
549*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare x86_fp80 @truncl(x86_fp80) [[NUW]]
550*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @cabs(double, double) [[NUW]]
551*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @cabsf(<2 x float>) [[NUW]]
552*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @cacos(double, double) [[NUW]]
553*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @cacosf(<2 x float>) [[NUW]]
554*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @cacosh(double, double) [[NUW]]
555*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @cacoshf(<2 x float>) [[NUW]]
556*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @carg(double, double) [[NUW]]
557*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @cargf(<2 x float>) [[NUW]]
558*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @casin(double, double) [[NUW]]
559*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @casinf(<2 x float>) [[NUW]]
560*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @casinh(double, double) [[NUW]]
561*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @casinhf(<2 x float>) [[NUW]]
562*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @catan(double, double) [[NUW]]
563*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @catanf(<2 x float>) [[NUW]]
564*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @catanh(double, double) [[NUW]]
565*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @catanhf(<2 x float>) [[NUW]]
566*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @ccos(double, double) [[NUW]]
567*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @ccosf(<2 x float>) [[NUW]]
568*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @ccosh(double, double) [[NUW]]
569*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @ccoshf(<2 x float>) [[NUW]]
570*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @cexp(double, double) [[NUW]]
571*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @cexpf(<2 x float>) [[NUW]]
572*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @cimag(double, double) [[NUW]]
573*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @cimagf(<2 x float>) [[NUW]]
574*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @conj(double, double) [[NUW]]
575*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @conjf(<2 x float>) [[NUW]]
576*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @clog(double, double) [[NUW]]
577*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @clogf(<2 x float>) [[NUW]]
578*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @cproj(double, double) [[NUW]]
579*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @cprojf(<2 x float>) [[NUW]]
580*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @cpow(double, double, double, double) [[NUW]]
581*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @cpowf(<2 x float>, <2 x float>) [[NUW]]
582*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare double @creal(double, double) [[NUW]]
583*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare float @crealf(<2 x float>) [[NUW]]
584*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @csin(double, double) [[NUW]]
585*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @csinf(<2 x float>) [[NUW]]
586*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @csinh(double, double) [[NUW]]
587*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @csinhf(<2 x float>) [[NUW]]
588*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @csqrt(double, double) [[NUW]]
589*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @csqrtf(<2 x float>) [[NUW]]
590*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @ctan(double, double) [[NUW]]
591*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @ctanf(<2 x float>) [[NUW]]
592*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare { double, double } @ctanh(double, double) [[NUW]]
593*f4a2713aSLionel Sambuc // CHECK-ERRNO: declare <2 x float> @ctanhf(<2 x float>) [[NUW]]
594*f4a2713aSLionel Sambuc 
595*f4a2713aSLionel Sambuc // CHECK-NOERRNO: attributes [[NUW]] = { nounwind readnone{{.*}} }
596*f4a2713aSLionel Sambuc 
597*f4a2713aSLionel Sambuc // CHECK-ERRNO: attributes [[NUW]] = { nounwind readnone{{.*}} }
598