From 580f2c7b61ec345d50f5d503baad5087a2d0ce1d Mon Sep 17 00:00:00 2001 From: Mon P Wang Date: Mon, 15 Dec 2008 21:44:00 +0000 Subject: Added support for splitting and scalarizing vector shifts. llvm-svn: 61050 --- llvm/test/CodeGen/X86/vshift_split2.ll | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 llvm/test/CodeGen/X86/vshift_split2.ll (limited to 'llvm/test/CodeGen/X86/vshift_split2.ll') diff --git a/llvm/test/CodeGen/X86/vshift_split2.ll b/llvm/test/CodeGen/X86/vshift_split2.ll new file mode 100644 index 00000000000..356e0fd1a64 --- /dev/null +++ b/llvm/test/CodeGen/X86/vshift_split2.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | llc + +; Legalization example that requires splitting a large vector into smaller pieces. + +define void @update(<8 x i32> %val, <8 x i32>* %dst) nounwind { +entry: + %shl = shl <8 x i32> %val, < i32 2, i32 2, i32 2, i32 2, i32 4, i32 4, i32 4, i32 4 > + %shr = ashr <8 x i32> %val, < i32 2, i32 2, i32 2, i32 2, i32 4, i32 4, i32 4, i32 4 > + store <8 x i32> %shr, <8 x i32>* %dst + ret void +} -- cgit v1.2.3