aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/sse41.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-23 04:33:02 +0000
committerChris Lattner <sabre@nondot.org>2009-07-23 04:33:02 +0000
commit5fe2b03779908eab307488727d1b1a37128d7caa (patch)
treef3e0a7fe46d7e81c1e61590fc410ea80aae6cec8 /test/CodeGen/X86/sse41.ll
parent1e5cdea9d7d8db6ffd6c97cf31e0e9e2765bfd5e (diff)
downloadexternal_llvm-5fe2b03779908eab307488727d1b1a37128d7caa.zip
external_llvm-5fe2b03779908eab307488727d1b1a37128d7caa.tar.gz
external_llvm-5fe2b03779908eab307488727d1b1a37128d7caa.tar.bz2
change a test to run in filecheck style. Rename it to be a general
dumping ground of various SSE4.1 tests, since filecheck can reasonably handle them all in one file. Generalize it to check x86-64 stuff as well since it has a different ABI (a convenient way to test both the reg and mem forms of these instructions). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76848 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/sse41.ll')
-rw-r--r--test/CodeGen/X86/sse41.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGen/X86/sse41.ll b/test/CodeGen/X86/sse41.ll
new file mode 100644
index 0000000..dd7ca73
--- /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
+}