diff options
author | Diana Picus <diana.picus@linaro.org> | 2017-02-17 11:25:11 +0000 |
---|---|---|
committer | Diana Picus <diana.picus@linaro.org> | 2017-02-17 11:25:11 +0000 |
commit | d2f3ba71c9bc1f972c1353a55d9fe58346d8698a (patch) | |
tree | 6b2dad22d487fbf7c6ab6b132ddc1b409b557271 | |
parent | 23c2b5ae7e26d1feea4df51438c515ee0e8823fa (diff) | |
download | bcm5719-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.ll | 21 |
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 +} |