From: Evandro Menezes Date: Fri, 1 Feb 2019 17:39:48 +0000 (+0000) Subject: [InstCombine] Expand Windows test (NFC) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8459474f0c01ba04b9773a3a30b28e961dda71d5;p=llvm [InstCombine] Expand Windows test (NFC) Add checks for Win64 to existing cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352892 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/InstCombine/win-math.ll b/test/Transforms/InstCombine/win-math.ll index 0074cf4e09a..4f774e5f6d5 100644 --- a/test/Transforms/InstCombine/win-math.ll +++ b/test/Transforms/InstCombine/win-math.ll @@ -12,6 +12,8 @@ define float @float_acos(float %x) nounwind readnone { ; CHECK-LABEL: @float_acos( ; WIN32-NOT: float @acosf ; WIN32: double @acos +; WIN64-NOT: float @acosf +; WIN64: double @acos %1 = fpext float %x to double %2 = call double @acos(double %1) %3 = fptrunc double %2 to float @@ -23,6 +25,8 @@ define float @float_asin(float %x) nounwind readnone { ; CHECK-LABEL: @float_asin( ; WIN32-NOT: float @asinf ; WIN32: double @asin +; WIN64-NOT: float @asinf +; WIN64: double @asin %1 = fpext float %x to double %2 = call double @asin(double %1) %3 = fptrunc double %2 to float @@ -34,6 +38,8 @@ define float @float_atan(float %x) nounwind readnone { ; CHECK-LABEL: @float_atan( ; WIN32-NOT: float @atanf ; WIN32: double @atan +; WIN64-NOT: float @atanf +; WIN64: double @atan %1 = fpext float %x to double %2 = call double @atan(double %1) %3 = fptrunc double %2 to float @@ -45,6 +51,8 @@ define float @float_atan2(float %x, float %y) nounwind readnone { ; CHECK-LABEL: @float_atan2( ; WIN32-NOT: float @atan2f ; WIN32: double @atan2 +; WIN64-NOT: float @atan2f +; WIN64: double @atan2 %1 = fpext float %x to double %2 = fpext float %y to double %3 = call double @atan2(double %1, double %2) @@ -57,12 +65,12 @@ define float @float_ceil(float %x) nounwind readnone { ; CHECK-LABEL: @float_ceil( ; WIN32-NOT: float @ceilf ; WIN32: float @llvm.ceil.f32 -; WIN64: float @llvm.ceil.f32 ; WIN64-NOT: double @ceil -; MINGW32: float @llvm.ceil.f32 +; WIN64: float @llvm.ceil.f32 ; MINGW32-NOT: double @ceil -; MINGW64: float @llvm.ceil.f32 +; MINGW32: float @llvm.ceil.f32 ; MINGW64-NOT: double @ceil +; MINGW64: float @llvm.ceil.f32 %1 = fpext float %x to double %2 = call double @ceil(double %1) %3 = fptrunc double %2 to float @@ -72,9 +80,10 @@ define float @float_ceil(float %x) nounwind readnone { declare double @_copysign(double %x) define float @float_copysign(float %x) nounwind readnone { ; CHECK-LABEL: @float_copysign( -; WIN32-NOT: float @copysignf ; WIN32-NOT: float @_copysignf ; WIN32: double @_copysign +; WIN64-NOT: float @_copysignf +; WIN64: double @_copysign %1 = fpext float %x to double %2 = call double @_copysign(double %1) %3 = fptrunc double %2 to float @@ -86,6 +95,8 @@ define float @float_cos(float %x) nounwind readnone { ; CHECK-LABEL: @float_cos( ; WIN32-NOT: float @cosf ; WIN32: double @cos +; WIN64-NOT: float @cosf +; WIN64: double @cos %1 = fpext float %x to double %2 = call double @cos(double %1) %3 = fptrunc double %2 to float @@ -97,6 +108,8 @@ define float @float_cosh(float %x) nounwind readnone { ; CHECK-LABEL: @float_cosh( ; WIN32-NOT: float @coshf ; WIN32: double @cosh +; WIN64-NOT: float @coshf +; WIN64: double @cosh %1 = fpext float %x to double %2 = call double @cosh(double %1) %3 = fptrunc double %2 to float @@ -108,6 +121,8 @@ define float @float_exp(float %x, float %y) nounwind readnone { ; CHECK-LABEL: @float_exp( ; WIN32-NOT: float @expf ; WIN32: double @exp +; WIN64-NOT: float @expf +; WIN64: double @exp %1 = fpext float %x to double %2 = fpext float %y to double %3 = call double @exp(double %1, double %2) @@ -134,12 +149,12 @@ define float @float_floor(float %x) nounwind readnone { ; CHECK-LABEL: @float_floor( ; WIN32-NOT: float @floorf ; WIN32: float @llvm.floor.f32 -; WIN64: float @llvm.floor.f32 ; WIN64-NOT: double @floor -; MINGW32: float @llvm.floor.f32 +; WIN64: float @llvm.floor.f32 ; MINGW32-NOT: double @floor -; MINGW64: float @llvm.floor.f32 +; MINGW32: float @llvm.floor.f32 ; MINGW64-NOT: double @floor +; MINGW64: float @llvm.floor.f32 %1 = fpext float %x to double %2 = call double @floor(double %1) %3 = fptrunc double %2 to float @@ -151,6 +166,8 @@ define float @float_fmod(float %x, float %y) nounwind readnone { ; WIN32-LABEL: @float_fmod( ; WIN32-NOT: float @fmodf ; WIN32: double @fmod +; WIN64-NOT: float @fmodf +; WIN64: double @fmod %1 = fpext float %x to double %2 = fpext float %y to double %3 = call double @fmod(double %1, double %2) @@ -163,6 +180,8 @@ define float @float_log(float %x) nounwind readnone { ; CHECK-LABEL: @float_log( ; WIN32-NOT: float @logf ; WIN32: double @log +; WIN64-NOT: float @logf +; WIN64: double @log %1 = fpext float %x to double %2 = call double @log(double %1) %3 = fptrunc double %2 to float @@ -174,6 +193,8 @@ define float @float_pow(float %x, float %y) nounwind readnone { ; CHECK-LABEL: @float_pow( ; WIN32-NOT: float @powf ; WIN32: double @pow +; WIN64-NOT: float @powf +; WIN64: double @pow %1 = fpext float %x to double %2 = fpext float %y to double %3 = call double @pow(double %1, double %2) @@ -186,6 +207,8 @@ define float @float_sin(float %x) nounwind readnone { ; CHECK-LABEL: @float_sin( ; WIN32-NOT: float @sinf ; WIN32: double @sin +; WIN64-NOT: float @sinf +; WIN64: double @sin %1 = fpext float %x to double %2 = call double @sin(double %1) %3 = fptrunc double %2 to float @@ -197,6 +220,8 @@ define float @float_sinh(float %x) nounwind readnone { ; CHECK-LABEL: @float_sinh( ; WIN32-NOT: float @sinhf ; WIN32: double @sinh +; WIN64-NOT: float @sinhf +; WIN64: double @sinh %1 = fpext float %x to double %2 = call double @sinh(double %1) %3 = fptrunc double %2 to float @@ -208,12 +233,12 @@ define float @float_sqrt(float %x) nounwind readnone { ; CHECK-LABEL: @float_sqrt( ; WIN32-NOT: float @sqrtf ; WIN32: double @sqrt -; WIN64: float @sqrtf ; WIN64-NOT: double @sqrt -; MINGW32: float @sqrtf +; WIN64: float @sqrtf ; MINGW32-NOT: double @sqrt -; MINGW64: float @sqrtf +; MINGW32: float @sqrtf ; MINGW64-NOT: double @sqrt +; MINGW64: float @sqrtf %1 = fpext float %x to double %2 = call double @sqrt(double %1) %3 = fptrunc double %2 to float @@ -225,6 +250,8 @@ define float @float_tan(float %x) nounwind readnone { ; CHECK-LABEL: @float_tan( ; WIN32-NOT: float @tanf ; WIN32: double @tan +; WIN64-NOT: float @tanf +; WIN64: double @tan %1 = fpext float %x to double %2 = call double @tan(double %1) %3 = fptrunc double %2 to float @@ -236,6 +263,8 @@ define float @float_tanh(float %x) nounwind readnone { ; CHECK-LABEL: @float_tanh( ; WIN32-NOT: float @tanhf ; WIN32: double @tanh +; WIN64-NOT: float @tanhf +; WIN64: double @tanh %1 = fpext float %x to double %2 = call double @tanh(double %1) %3 = fptrunc double %2 to float @@ -250,10 +279,10 @@ define float @float_round(float %x) nounwind readnone { ; WIN32: double @round ; WIN64-NOT: float @roundf ; WIN64: double @round -; MINGW32: float @llvm.round.f32 ; MINGW32-NOT: double @round -; MINGW64: float @llvm.round.f32 +; MINGW32: float @llvm.round.f32 ; MINGW64-NOT: double @round +; MINGW64: float @llvm.round.f32 %1 = fpext float %x to double %2 = call double @round(double %1) %3 = fptrunc double %2 to float @@ -268,15 +297,15 @@ define float @float_powsqrt(float %x) nounwind readnone { ; CHECK-LABEL: @float_powsqrt( ; WIN32-NOT: float @sqrtf ; WIN32: float @powf +; WIN64-NOT: float @powf ; WIN64: float @sqrtf ; WIN64: float @llvm.fabs.f32( -; WIN64-NOT: float @powf +; MINGW32-NOT: float @powf ; MINGW32: float @sqrtf ; MINGW32: float @llvm.fabs.f32 -; MINGW32-NOT: float @powf +; MINGW64-NOT: float @powf ; MINGW64: float @sqrtf ; MINGW64: float @llvm.fabs.f32( -; MINGW64-NOT: float @powf %1 = call float @powf(float %x, float 0.5) ret float %1 }