aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-03-25 09:48:14 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-03-25 09:48:14 +0000
commit6a11abca5e3c55433c781494954b15cd4b1278fd (patch)
treeb9430c89536dee523971cb869abed13cd1b7efcc
parent6e16ee56343e0dee5f4ed6e17060199b77ad7ce5 (diff)
Add a BUILD_VECTOR with unpack and interleave testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27121 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/X86/vec_set.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/X86/vec_set.ll b/test/CodeGen/X86/vec_set.ll
new file mode 100644
index 0000000000..fcce5f6615
--- /dev/null
+++ b/test/CodeGen/X86/vec_set.ll
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep punpckl | wc -l | grep 7
+
+void %test(<8 x short>* %b, short %a0, short %a1, short %a2, short %a3, short %a4, short %a5, short %a6, short %a7) {
+ %tmp = insertelement <8 x short> zeroinitializer, short %a0, uint 0
+ %tmp2 = insertelement <8 x short> %tmp, short %a1, uint 1
+ %tmp4 = insertelement <8 x short> %tmp2, short %a2, uint 2
+ %tmp6 = insertelement <8 x short> %tmp4, short %a3, uint 3
+ %tmp8 = insertelement <8 x short> %tmp6, short %a4, uint 4
+ %tmp10 = insertelement <8 x short> %tmp8, short %a5, uint 5
+ %tmp12 = insertelement <8 x short> %tmp10, short %a6, uint 6
+ %tmp14 = insertelement <8 x short> %tmp12, short %a7, uint 7
+ store <8 x short> %tmp14, <8 x short>* %b
+ ret void
+}