summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2017-02-17 11:25:11 +0000
committerDiana Picus <diana.picus@linaro.org>2017-02-17 11:25:11 +0000
commitd2f3ba71c9bc1f972c1353a55d9fe58346d8698a (patch)
tree6b2dad22d487fbf7c6ab6b132ddc1b409b557271
parent23c2b5ae7e26d1feea4df51438c515ee0e8823fa (diff)
downloadbcm5719-llvm-d2f3ba71c9bc1f972c1353a55d9fe58346d8698a.tar.gz
bcm5719-llvm-d2f3ba71c9bc1f972c1353a55d9fe58346d8698a.zip
[ARM] GlobalISel: Add end-to-end tests for double
Test some really basic functionality through the whole GlobalISel pipeline. llvm-svn: 295438
-rw-r--r--llvm/test/CodeGen/ARM/GlobalISel/arm-isel.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/GlobalISel/arm-isel.ll b/llvm/test/CodeGen/ARM/GlobalISel/arm-isel.ll
index 9790208befc..1c7e7aca497 100644
--- a/llvm/test/CodeGen/ARM/GlobalISel/arm-isel.ll
+++ b/llvm/test/CodeGen/ARM/GlobalISel/arm-isel.ll
@@ -160,3 +160,24 @@ entry:
%v = fadd float %f0, %f1
ret float %v
}
+
+define arm_aapcs_vfpcc double @test_double_hard(double %f0, double %f1) {
+; CHECK-LABEL: test_double_hard:
+; CHECK: vadd.f64 d0, d0, d1
+; CHECK: bx lr
+entry:
+ %v = fadd double %f0, %f1
+ ret double %v
+}
+
+define arm_aapcscc double @test_double_softfp(double %f0, double %f1) {
+; CHECK-LABEL: test_double_softfp:
+; CHECK-DAG: vmov [[F0:d[0-9]+]], r0, r1
+; CHECK-DAG: vmov [[F1:d[0-9]+]], r2, r3
+; CHECK: vadd.f64 [[FV:d[0-9]+]], [[F0]], [[F1]]
+; CHECK: vmov r0, r1, [[FV]]
+; CHECK: bx lr
+entry:
+ %v = fadd double %f0, %f1
+ ret double %v
+}
OpenPOWER on IntegriCloud