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