summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/InstCombine')
-rw-r--r--llvm/test/Transforms/InstCombine/pow-exp.ll9
-rw-r--r--llvm/test/Transforms/InstCombine/sincospi.ll9
-rw-r--r--llvm/test/Transforms/InstCombine/tan.ll9
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" }
OpenPOWER on IntegriCloud