diff options
Diffstat (limited to 'llvm/test/Transforms/InstCombine')
-rw-r--r-- | llvm/test/Transforms/InstCombine/pow-exp.ll | 9 | ||||
-rw-r--r-- | llvm/test/Transforms/InstCombine/sincospi.ll | 9 | ||||
-rw-r--r-- | llvm/test/Transforms/InstCombine/tan.ll | 9 |
3 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/pow-exp.ll b/llvm/test/Transforms/InstCombine/pow-exp.ll index 62e6fb4f3a3..7ac6fe4f8fd 100644 --- a/llvm/test/Transforms/InstCombine/pow-exp.ll +++ b/llvm/test/Transforms/InstCombine/pow-exp.ll @@ -13,6 +13,15 @@ entry: ; CHECK: ret double %exp ; CHECK: } +define double @test2(double ()* %fptr, double %p1) #0 { + %call1 = call double %fptr() + %pow = call double @llvm.pow.f64(double %call1, double %p1) + ret double %pow +} + +; CHECK-LABEL: @test2 +; CHECK: llvm.pow.f64 + declare double @exp(double) #1 declare double @llvm.pow.f64(double, double) attributes #0 = { "unsafe-fp-math"="true" } diff --git a/llvm/test/Transforms/InstCombine/sincospi.ll b/llvm/test/Transforms/InstCombine/sincospi.ll index f49fb35cb76..10342c50096 100644 --- a/llvm/test/Transforms/InstCombine/sincospi.ll +++ b/llvm/test/Transforms/InstCombine/sincospi.ll @@ -90,3 +90,12 @@ define double @test_constant_f64() { ; CHECK-NO-SINCOS: call double @__sinpi ; CHECK-NO-SINCOS: call double @__cospi } + +define double @test_fptr(double (double)* %fptr, double %p1) { + %sin = call double @__sinpi(double %p1) #0 + %cos = call double %fptr(double %p1) + %res = fadd double %sin, %cos + ret double %res +; CHECK-LABEL: @test_fptr +; CHECK: __sinpi +} diff --git a/llvm/test/Transforms/InstCombine/tan.ll b/llvm/test/Transforms/InstCombine/tan.ll index 58e3bb355bd..15a832f253a 100644 --- a/llvm/test/Transforms/InstCombine/tan.ll +++ b/llvm/test/Transforms/InstCombine/tan.ll @@ -10,6 +10,15 @@ entry: ; CHECK-LABEL: define float @mytan( ; CHECK: ret float %x +define float @test2(float ()* %fptr) #0 { + %call1 = call float %fptr() + %tan = call float @tanf(float %call1) + ret float %tan +} + +; CHECK-LABEL: @test2 +; CHECK: tanf + declare float @tanf(float) #0 declare float @atanf(float) #0 attributes #0 = { "unsafe-fp-math"="true" } |