From db28247522af0a6190c9cab8dc32e7d4df9f5509 Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Wed, 18 May 2011 21:44:54 +0000 Subject: Handle perfect shuffle case that generates a vrev for vectors of floats. Add test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131582 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/ARM/vrev.ll | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/CodeGen/ARM/vrev.ll') diff --git a/test/CodeGen/ARM/vrev.ll b/test/CodeGen/ARM/vrev.ll index 0f0ea2b932..34acd1678a 100644 --- a/test/CodeGen/ARM/vrev.ll +++ b/test/CodeGen/ARM/vrev.ll @@ -163,3 +163,18 @@ entry: store <2 x i16> %tmp11, <2 x i16>* %dst, align 4 ret void } + +; Test vrev of float4 +define void @float_vrev64(float* nocapture %source, <4 x float>* nocapture %dest) nounwind noinline ssp { +; CHECK: float_vrev64 +; CHECK: vext.32 +; CHECK: vrev64.32 +entry: + %0 = bitcast float* %source to <4 x float>* + %tmp2 = load <4 x float>* %0, align 4 + %tmp5 = shufflevector <4 x float> , <4 x float> %tmp2, <4 x i32> + %arrayidx8 = getelementptr inbounds <4 x float>* %dest, i32 11 + store <4 x float> %tmp5, <4 x float>* %arrayidx8, align 4 + ret void +} + -- cgit v1.2.3