summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/mmx-pinsrw.ll
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-07-20 02:32:23 +0000
committerBill Wendling <isanbard@gmail.com>2008-07-20 02:32:23 +0000
commit3180e20cda2150a3fc694b3713cae4c5f2fda49f (patch)
tree496abbe53b0305ed52d89415064730014ea79d13 /test/CodeGen/X86/mmx-pinsrw.ll
parentfbbd701bbd7b8dacd657cd686113f3412bd48bc1 (diff)
downloadllvm-3180e20cda2150a3fc694b3713cae4c5f2fda49f.tar.gz
llvm-3180e20cda2150a3fc694b3713cae4c5f2fda49f.tar.bz2
llvm-3180e20cda2150a3fc694b3713cae4c5f2fda49f.tar.xz
Fix for first part of PR2562. Generate the "pinsrw" instruction for inserts
into v4i16 vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53807 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/mmx-pinsrw.ll')
-rw-r--r--test/CodeGen/X86/mmx-pinsrw.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/X86/mmx-pinsrw.ll b/test/CodeGen/X86/mmx-pinsrw.ll
new file mode 100644
index 0000000000..f1d04fa46c
--- /dev/null
+++ b/test/CodeGen/X86/mmx-pinsrw.ll
@@ -0,0 +1,15 @@
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+mmx | grep pinsrw | count 1
+; PR2562
+
+external global i16 ; <i16*>:0 [#uses=1]
+external global <4 x i16> ; <<4 x i16>*>:1 [#uses=2]
+
+declare void @abort()
+
+define void @""() {
+ load i16* @0 ; <i16>:1 [#uses=1]
+ load <4 x i16>* @1 ; <<4 x i16>>:2 [#uses=1]
+ insertelement <4 x i16> %2, i16 %1, i32 0 ; <<4 x i16>>:3 [#uses=1]
+ store <4 x i16> %3, <4 x i16>* @1
+ ret void
+}