From f9b9abbd08ea36f2226c6e21cd0113ea015944e0 Mon Sep 17 00:00:00 2001 From: Nadav Rotem Date: Mon, 17 Oct 2011 20:23:23 +0000 Subject: [PATCH] Add CHECKs and document PR11158. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142240 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/ARM/vrev.ll | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/CodeGen/ARM/vrev.ll b/test/CodeGen/ARM/vrev.ll index 5c3c0fca10d..e154334970b 100644 --- a/test/CodeGen/ARM/vrev.ll +++ b/test/CodeGen/ARM/vrev.ll @@ -148,8 +148,13 @@ define void @test_with_vcombine(<4 x float>* %v) nounwind { ret void } -; vrev <4 x i16> should use VREV32 and not VREV64 +; The type <2 x i16> is legalized to <2 x i32> and need to be trunc-stored +; to <2 x i16> when stored to memory. Currently ARM scalarizes these stores. +; See PR 11158 define void @test_vrev64(<4 x i16>* nocapture %source, <2 x i16>* nocapture %dst) nounwind ssp { +; CHECK: test_vrev64: +; CHECK: vst1.16 +; CHECK: vst1.16 entry: %0 = bitcast <4 x i16>* %source to <8 x i16>* %tmp2 = load <8 x i16>* %0, align 4