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