diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-04-02 14:38:58 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-04-02 14:38:58 +0000 |
| commit | ebd37ab38279f09d36a8c317363e48ecaf5f13c1 (patch) | |
| tree | b4d06b4511ab976b3767cd33051b543d26d3d9c9 /llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll | |
| parent | 5e3a484e3b325329e56a685357dc5e3c9bb0f1b3 (diff) | |
| download | bcm5719-llvm-ebd37ab38279f09d36a8c317363e48ecaf5f13c1.tar.gz bcm5719-llvm-ebd37ab38279f09d36a8c317363e48ecaf5f13c1.zip | |
ARM64: make sure first argument to INSERT_SUBVECTOR has right type.
Again, coalescing and other optimisations swiftly made the MachineInstrs
consistent again, but when compiled at -O0 a bad INSERT_SUBREGISTER was
produced.
llvm-svn: 205423
Diffstat (limited to 'llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll')
| -rw-r--r-- | llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll b/llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll index fe0c6fedddb..6c0b840a5c1 100644 --- a/llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll +++ b/llvm/test/CodeGen/ARM64/simd-scalar-to-vector.ll @@ -1,10 +1,15 @@ ; RUN: llc < %s -march=arm64 -arm64-neon-syntax=apple | FileCheck %s +; RUN: llc < %s -march=arm64 -arm64-neon-syntax=apple -O0 | FileCheck %s --check-prefix=CHECK-FAST define <16 x i8> @foo(<16 x i8> %a) nounwind optsize readnone ssp { -; CHECK: uaddlv.16b h0, v0 -; CHECK: rshrn.8b v0, v0, #4 -; CHECK: dup.16b v0, v0[0] +; CHECK: uaddlv.16b h0, v0 +; CHECK: rshrn.8b v0, v0, #4 +; CHECK: dup.16b v0, v0[0] ; CHECK: ret + +; CHECK-FAST: uaddlv.16b +; CHECK-FAST: rshrn.8b +; CHECK-FAST: dup.16b %tmp = tail call i32 @llvm.arm64.neon.uaddlv.i32.v16i8(<16 x i8> %a) nounwind %tmp1 = trunc i32 %tmp to i16 %tmp2 = insertelement <8 x i16> undef, i16 %tmp1, i32 0 |

