1*9880d681SAndroid Build Coastguard Worker; RUN: opt -O2 -S -mtriple=i386-pc-win32 < %s | FileCheck %s -check-prefix=WIN32 2*9880d681SAndroid Build Coastguard Worker; RUN: opt -O2 -S -mtriple=x86_64-pc-win32 < %s | FileCheck %s -check-prefix=WIN64 3*9880d681SAndroid Build Coastguard Worker; RUN: opt -O2 -S -mtriple=i386-pc-mingw32 < %s | FileCheck %s -check-prefix=MINGW32 4*9880d681SAndroid Build Coastguard Worker; RUN: opt -O2 -S -mtriple=x86_64-pc-mingw32 < %s | FileCheck %s -check-prefix=MINGW64 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; x86 win32 msvcrt does not provide entry points for single-precision libm. 7*9880d681SAndroid Build Coastguard Worker; x86-64 win32 msvcrt does (except for fabsf) 8*9880d681SAndroid Build Coastguard Worker; msvcrt does not provide C99 math, but mingw32 does. 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerdeclare double @acos(double %x) 11*9880d681SAndroid Build Coastguard Workerdefine float @float_acos(float %x) nounwind readnone { 12*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_acos( 13*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @acosf 14*9880d681SAndroid Build Coastguard Worker; WIN32: double @acos 15*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 16*9880d681SAndroid Build Coastguard Worker %2 = call double @acos(double %1) 17*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 18*9880d681SAndroid Build Coastguard Worker ret float %3 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdeclare double @asin(double %x) 22*9880d681SAndroid Build Coastguard Workerdefine float @float_asin(float %x) nounwind readnone { 23*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_asin( 24*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @asinf 25*9880d681SAndroid Build Coastguard Worker; WIN32: double @asin 26*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 27*9880d681SAndroid Build Coastguard Worker %2 = call double @asin(double %1) 28*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 29*9880d681SAndroid Build Coastguard Worker ret float %3 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Workerdeclare double @atan(double %x) 33*9880d681SAndroid Build Coastguard Workerdefine float @float_atan(float %x) nounwind readnone { 34*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_atan( 35*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @atanf 36*9880d681SAndroid Build Coastguard Worker; WIN32: double @atan 37*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 38*9880d681SAndroid Build Coastguard Worker %2 = call double @atan(double %1) 39*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 40*9880d681SAndroid Build Coastguard Worker ret float %3 41*9880d681SAndroid Build Coastguard Worker} 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Workerdeclare double @atan2(double %x, double %y) 44*9880d681SAndroid Build Coastguard Workerdefine float @float_atan2(float %x, float %y) nounwind readnone { 45*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_atan2( 46*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @atan2f 47*9880d681SAndroid Build Coastguard Worker; WIN32: double @atan2 48*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 49*9880d681SAndroid Build Coastguard Worker %2 = fpext float %y to double 50*9880d681SAndroid Build Coastguard Worker %3 = call double @atan2(double %1, double %2) 51*9880d681SAndroid Build Coastguard Worker %4 = fptrunc double %3 to float 52*9880d681SAndroid Build Coastguard Worker ret float %4 53*9880d681SAndroid Build Coastguard Worker} 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Workerdeclare double @ceil(double %x) 56*9880d681SAndroid Build Coastguard Workerdefine float @float_ceil(float %x) nounwind readnone { 57*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_ceil( 58*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @ceilf 59*9880d681SAndroid Build Coastguard Worker; WIN32: double @ceil 60*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_ceil( 61*9880d681SAndroid Build Coastguard Worker; WIN64: float @ceilf 62*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: double @ceil 63*9880d681SAndroid Build Coastguard Worker; MINGW32-LABEL: @float_ceil( 64*9880d681SAndroid Build Coastguard Worker; MINGW32: float @ceilf 65*9880d681SAndroid Build Coastguard Worker; MINGW32-NOT: double @ceil 66*9880d681SAndroid Build Coastguard Worker; MINGW64-LABEL: @float_ceil( 67*9880d681SAndroid Build Coastguard Worker; MINGW64: float @ceilf 68*9880d681SAndroid Build Coastguard Worker; MINGW64-NOT: double @ceil 69*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 70*9880d681SAndroid Build Coastguard Worker %2 = call double @ceil(double %1) 71*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 72*9880d681SAndroid Build Coastguard Worker ret float %3 73*9880d681SAndroid Build Coastguard Worker} 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Workerdeclare double @_copysign(double %x) 76*9880d681SAndroid Build Coastguard Workerdefine float @float_copysign(float %x) nounwind readnone { 77*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_copysign( 78*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @copysignf 79*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @_copysignf 80*9880d681SAndroid Build Coastguard Worker; WIN32: double @_copysign 81*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 82*9880d681SAndroid Build Coastguard Worker %2 = call double @_copysign(double %1) 83*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 84*9880d681SAndroid Build Coastguard Worker ret float %3 85*9880d681SAndroid Build Coastguard Worker} 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Workerdeclare double @cos(double %x) 88*9880d681SAndroid Build Coastguard Workerdefine float @float_cos(float %x) nounwind readnone { 89*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_cos( 90*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @cosf 91*9880d681SAndroid Build Coastguard Worker; WIN32: double @cos 92*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 93*9880d681SAndroid Build Coastguard Worker %2 = call double @cos(double %1) 94*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 95*9880d681SAndroid Build Coastguard Worker ret float %3 96*9880d681SAndroid Build Coastguard Worker} 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Workerdeclare double @cosh(double %x) 99*9880d681SAndroid Build Coastguard Workerdefine float @float_cosh(float %x) nounwind readnone { 100*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_cosh( 101*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @coshf 102*9880d681SAndroid Build Coastguard Worker; WIN32: double @cosh 103*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 104*9880d681SAndroid Build Coastguard Worker %2 = call double @cosh(double %1) 105*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 106*9880d681SAndroid Build Coastguard Worker ret float %3 107*9880d681SAndroid Build Coastguard Worker} 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Workerdeclare double @exp(double %x, double %y) 110*9880d681SAndroid Build Coastguard Workerdefine float @float_exp(float %x, float %y) nounwind readnone { 111*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_exp( 112*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @expf 113*9880d681SAndroid Build Coastguard Worker; WIN32: double @exp 114*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 115*9880d681SAndroid Build Coastguard Worker %2 = fpext float %y to double 116*9880d681SAndroid Build Coastguard Worker %3 = call double @exp(double %1, double %2) 117*9880d681SAndroid Build Coastguard Worker %4 = fptrunc double %3 to float 118*9880d681SAndroid Build Coastguard Worker ret float %4 119*9880d681SAndroid Build Coastguard Worker} 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Workerdeclare double @fabs(double %x, double %y) 122*9880d681SAndroid Build Coastguard Workerdefine float @float_fabs(float %x, float %y) nounwind readnone { 123*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_fabs( 124*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @fabsf 125*9880d681SAndroid Build Coastguard Worker; WIN32: double @fabs 126*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_fabs( 127*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: float @fabsf 128*9880d681SAndroid Build Coastguard Worker; WIN64: double @fabs 129*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 130*9880d681SAndroid Build Coastguard Worker %2 = fpext float %y to double 131*9880d681SAndroid Build Coastguard Worker %3 = call double @fabs(double %1, double %2) 132*9880d681SAndroid Build Coastguard Worker %4 = fptrunc double %3 to float 133*9880d681SAndroid Build Coastguard Worker ret float %4 134*9880d681SAndroid Build Coastguard Worker} 135*9880d681SAndroid Build Coastguard Worker 136*9880d681SAndroid Build Coastguard Workerdeclare double @floor(double %x) 137*9880d681SAndroid Build Coastguard Workerdefine float @float_floor(float %x) nounwind readnone { 138*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_floor( 139*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @floorf 140*9880d681SAndroid Build Coastguard Worker; WIN32: double @floor 141*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_floor( 142*9880d681SAndroid Build Coastguard Worker; WIN64: float @floorf 143*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: double @floor 144*9880d681SAndroid Build Coastguard Worker; MINGW32-LABEL: @float_floor( 145*9880d681SAndroid Build Coastguard Worker; MINGW32: float @floorf 146*9880d681SAndroid Build Coastguard Worker; MINGW32-NOT: double @floor 147*9880d681SAndroid Build Coastguard Worker; MINGW64-LABEL: @float_floor( 148*9880d681SAndroid Build Coastguard Worker; MINGW64: float @floorf 149*9880d681SAndroid Build Coastguard Worker; MINGW64-NOT: double @floor 150*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 151*9880d681SAndroid Build Coastguard Worker %2 = call double @floor(double %1) 152*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 153*9880d681SAndroid Build Coastguard Worker ret float %3 154*9880d681SAndroid Build Coastguard Worker} 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Workerdeclare double @fmod(double %x, double %y) 157*9880d681SAndroid Build Coastguard Workerdefine float @float_fmod(float %x, float %y) nounwind readnone { 158*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_fmod( 159*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @fmodf 160*9880d681SAndroid Build Coastguard Worker; WIN32: double @fmod 161*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 162*9880d681SAndroid Build Coastguard Worker %2 = fpext float %y to double 163*9880d681SAndroid Build Coastguard Worker %3 = call double @fmod(double %1, double %2) 164*9880d681SAndroid Build Coastguard Worker %4 = fptrunc double %3 to float 165*9880d681SAndroid Build Coastguard Worker ret float %4 166*9880d681SAndroid Build Coastguard Worker} 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Workerdeclare double @log(double %x) 169*9880d681SAndroid Build Coastguard Workerdefine float @float_log(float %x) nounwind readnone { 170*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_log( 171*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @logf 172*9880d681SAndroid Build Coastguard Worker; WIN32: double @log 173*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 174*9880d681SAndroid Build Coastguard Worker %2 = call double @log(double %1) 175*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 176*9880d681SAndroid Build Coastguard Worker ret float %3 177*9880d681SAndroid Build Coastguard Worker} 178*9880d681SAndroid Build Coastguard Worker 179*9880d681SAndroid Build Coastguard Workerdeclare double @pow(double %x, double %y) 180*9880d681SAndroid Build Coastguard Workerdefine float @float_pow(float %x, float %y) nounwind readnone { 181*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_pow( 182*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @powf 183*9880d681SAndroid Build Coastguard Worker; WIN32: double @pow 184*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 185*9880d681SAndroid Build Coastguard Worker %2 = fpext float %y to double 186*9880d681SAndroid Build Coastguard Worker %3 = call double @pow(double %1, double %2) 187*9880d681SAndroid Build Coastguard Worker %4 = fptrunc double %3 to float 188*9880d681SAndroid Build Coastguard Worker ret float %4 189*9880d681SAndroid Build Coastguard Worker} 190*9880d681SAndroid Build Coastguard Worker 191*9880d681SAndroid Build Coastguard Workerdeclare double @sin(double %x) 192*9880d681SAndroid Build Coastguard Workerdefine float @float_sin(float %x) nounwind readnone { 193*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_sin( 194*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @sinf 195*9880d681SAndroid Build Coastguard Worker; WIN32: double @sin 196*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 197*9880d681SAndroid Build Coastguard Worker %2 = call double @sin(double %1) 198*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 199*9880d681SAndroid Build Coastguard Worker ret float %3 200*9880d681SAndroid Build Coastguard Worker} 201*9880d681SAndroid Build Coastguard Worker 202*9880d681SAndroid Build Coastguard Workerdeclare double @sinh(double %x) 203*9880d681SAndroid Build Coastguard Workerdefine float @float_sinh(float %x) nounwind readnone { 204*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_sinh( 205*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @sinhf 206*9880d681SAndroid Build Coastguard Worker; WIN32: double @sinh 207*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 208*9880d681SAndroid Build Coastguard Worker %2 = call double @sinh(double %1) 209*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 210*9880d681SAndroid Build Coastguard Worker ret float %3 211*9880d681SAndroid Build Coastguard Worker} 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Workerdeclare double @sqrt(double %x) 214*9880d681SAndroid Build Coastguard Workerdefine float @float_sqrt(float %x) nounwind readnone { 215*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_sqrt( 216*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @sqrtf 217*9880d681SAndroid Build Coastguard Worker; WIN32: double @sqrt 218*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_sqrt( 219*9880d681SAndroid Build Coastguard Worker; WIN64: float @sqrtf 220*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: double @sqrt 221*9880d681SAndroid Build Coastguard Worker; MINGW32-LABEL: @float_sqrt( 222*9880d681SAndroid Build Coastguard Worker; MINGW32: float @sqrtf 223*9880d681SAndroid Build Coastguard Worker; MINGW32-NOT: double @sqrt 224*9880d681SAndroid Build Coastguard Worker; MINGW64-LABEL: @float_sqrt( 225*9880d681SAndroid Build Coastguard Worker; MINGW64: float @sqrtf 226*9880d681SAndroid Build Coastguard Worker; MINGW64-NOT: double @sqrt 227*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 228*9880d681SAndroid Build Coastguard Worker %2 = call double @sqrt(double %1) 229*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 230*9880d681SAndroid Build Coastguard Worker ret float %3 231*9880d681SAndroid Build Coastguard Worker} 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Workerdeclare double @tan(double %x) 234*9880d681SAndroid Build Coastguard Workerdefine float @float_tan(float %x) nounwind readnone { 235*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_tan( 236*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @tanf 237*9880d681SAndroid Build Coastguard Worker; WIN32: double @tan 238*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 239*9880d681SAndroid Build Coastguard Worker %2 = call double @tan(double %1) 240*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 241*9880d681SAndroid Build Coastguard Worker ret float %3 242*9880d681SAndroid Build Coastguard Worker} 243*9880d681SAndroid Build Coastguard Worker 244*9880d681SAndroid Build Coastguard Workerdeclare double @tanh(double %x) 245*9880d681SAndroid Build Coastguard Workerdefine float @float_tanh(float %x) nounwind readnone { 246*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_tanh( 247*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @tanhf 248*9880d681SAndroid Build Coastguard Worker; WIN32: double @tanh 249*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 250*9880d681SAndroid Build Coastguard Worker %2 = call double @tanh(double %1) 251*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 252*9880d681SAndroid Build Coastguard Worker ret float %3 253*9880d681SAndroid Build Coastguard Worker} 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Worker; win32 does not have round; mingw32 does 256*9880d681SAndroid Build Coastguard Workerdeclare double @round(double %x) 257*9880d681SAndroid Build Coastguard Workerdefine float @float_round(float %x) nounwind readnone { 258*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_round( 259*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @roundf 260*9880d681SAndroid Build Coastguard Worker; WIN32: double @round 261*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_round( 262*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: float @roundf 263*9880d681SAndroid Build Coastguard Worker; WIN64: double @round 264*9880d681SAndroid Build Coastguard Worker; MINGW32-LABEL: @float_round( 265*9880d681SAndroid Build Coastguard Worker; MINGW32: float @roundf 266*9880d681SAndroid Build Coastguard Worker; MINGW32-NOT: double @round 267*9880d681SAndroid Build Coastguard Worker; MINGW64-LABEL: @float_round( 268*9880d681SAndroid Build Coastguard Worker; MINGW64: float @roundf 269*9880d681SAndroid Build Coastguard Worker; MINGW64-NOT: double @round 270*9880d681SAndroid Build Coastguard Worker %1 = fpext float %x to double 271*9880d681SAndroid Build Coastguard Worker %2 = call double @round(double %1) 272*9880d681SAndroid Build Coastguard Worker %3 = fptrunc double %2 to float 273*9880d681SAndroid Build Coastguard Worker ret float %3 274*9880d681SAndroid Build Coastguard Worker} 275*9880d681SAndroid Build Coastguard Worker 276*9880d681SAndroid Build Coastguard Workerdeclare float @powf(float, float) 277*9880d681SAndroid Build Coastguard Worker; win32 lacks sqrtf&fabsf, win64 lacks fabsf 278*9880d681SAndroid Build Coastguard Workerdefine float @float_powsqrt(float %x) nounwind readnone { 279*9880d681SAndroid Build Coastguard Worker; WIN32-LABEL: @float_powsqrt( 280*9880d681SAndroid Build Coastguard Worker; WIN32-NOT: float @sqrtf 281*9880d681SAndroid Build Coastguard Worker; WIN32: float @powf 282*9880d681SAndroid Build Coastguard Worker; WIN64-LABEL: @float_powsqrt( 283*9880d681SAndroid Build Coastguard Worker; WIN64-NOT: float @sqrtf 284*9880d681SAndroid Build Coastguard Worker; WIN64: float @powf 285*9880d681SAndroid Build Coastguard Worker; MINGW32-LABEL: @float_powsqrt( 286*9880d681SAndroid Build Coastguard Worker; MINGW32: float @sqrtf 287*9880d681SAndroid Build Coastguard Worker; MINGW32: float @fabsf 288*9880d681SAndroid Build Coastguard Worker; MINGW32-NOT: float @powf 289*9880d681SAndroid Build Coastguard Worker; MINGW64-LABEL: @float_powsqrt( 290*9880d681SAndroid Build Coastguard Worker; MINGW64: float @sqrtf 291*9880d681SAndroid Build Coastguard Worker; MINGW64: float @fabsf 292*9880d681SAndroid Build Coastguard Worker; MINGW64-NOT: float @powf 293*9880d681SAndroid Build Coastguard Worker %1 = call float @powf(float %x, float 0.5) 294*9880d681SAndroid Build Coastguard Worker ret float %1 295*9880d681SAndroid Build Coastguard Worker} 296