New loadl_pd and loadh_pd tests.
authorEvan Cheng <evan.cheng@apple.com>
Sat, 24 May 2008 00:10:02 +0000 (00:10 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 24 May 2008 00:10:02 +0000 (00:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51525 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/vec_loadhl.ll [new file with mode: 0644]

diff --git a/test/CodeGen/X86/vec_loadhl.ll b/test/CodeGen/X86/vec_loadhl.ll
new file mode 100644 (file)
index 0000000..88e303d
--- /dev/null
@@ -0,0 +1,19 @@
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movlpd
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movhpd
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep movsd
+
+define void @t1(<2 x double>* %r, <2 x double>* %A, double %B) nounwind  {
+       %tmp3 = load <2 x double>* %A, align 16
+       %tmp7 = insertelement <2 x double> undef, double %B, i32 0
+       %tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 2, i32 1 >
+       store <2 x double> %tmp9, <2 x double>* %r, align 16
+       ret void
+}
+
+define void @t2(<2 x double>* %r, <2 x double>* %A, double %B) nounwind  {
+       %tmp3 = load <2 x double>* %A, align 16
+       %tmp7 = insertelement <2 x double> undef, double %B, i32 0
+       %tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 0, i32 2 >
+       store <2 x double> %tmp9, <2 x double>* %r, align 16
+       ret void
+}