aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/CodeGen/X86/sse41.ll23
-rw-r--r--test/CodeGen/X86/vec_insert-4.ll12
2 files changed, 23 insertions, 12 deletions
diff --git a/test/CodeGen/X86/sse41.ll b/test/CodeGen/X86/sse41.ll
new file mode 100644
index 0000000000..dd7ca733a8
--- /dev/null
+++ b/test/CodeGen/X86/sse41.ll
@@ -0,0 +1,23 @@
+; RUN: llvm-as < %s | llc -mtriple=i686-apple-darwin9 -mattr=sse41 | FileCheck %s -check-prefix=X32
+; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin9 -mattr=sse41 | FileCheck %s -check-prefix=X64
+
+
+define <4 x i32> @pinsrd(i32 %s, <4 x i32> %tmp) nounwind {
+ %tmp1 = insertelement <4 x i32> %tmp, i32 %s, i32 1
+ ret <4 x i32> %tmp1
+; X32: pinsrd:
+; X32: pinsrd $1, 4(%esp), %xmm0
+
+; X64: pinsrd:
+; X64: pinsrd $1, %edi, %xmm0
+}
+
+define <16 x i8> @pinsrb(i8 %s, <16 x i8> %tmp) nounwind {
+ %tmp1 = insertelement <16 x i8> %tmp, i8 %s, i32 1
+ ret <16 x i8> %tmp1
+; X32: pinsrb:
+; X32: pinsrb $1, 4(%esp), %xmm0
+
+; X64: pinsrb:
+; X64: pinsrb $1, %edi, %xmm0
+}
diff --git a/test/CodeGen/X86/vec_insert-4.ll b/test/CodeGen/X86/vec_insert-4.ll
deleted file mode 100644
index 29c3040394..0000000000
--- a/test/CodeGen/X86/vec_insert-4.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep pinsrd | count 1
-; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep pinsrb | count 1
-
-define <4 x i32> @t1(i32 %s, <4 x i32> %tmp) nounwind {
- %tmp1 = insertelement <4 x i32> %tmp, i32 %s, i32 1
- ret <4 x i32> %tmp1
-}
-
-define <16 x i8> @t2(i8 %s, <16 x i8> %tmp) nounwind {
- %tmp1 = insertelement <16 x i8> %tmp, i8 %s, i32 1
- ret <16 x i8> %tmp1
-}