aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2010-04-23 19:03:32 +0000
committerStuart Hastings <stuart@apple.com>2010-04-23 19:03:32 +0000
commite3ff9ba40c1f0905941d8d696ce354b79031b144 (patch)
tree1d8cf2a53c13466669a71558b22941eff3422ca4 /test/CodeGen/X86
parent12104464f339b0915d0d1d7db35173cda8f59469 (diff)
downloadexternal_llvm-e3ff9ba40c1f0905941d8d696ce354b79031b144.zip
external_llvm-e3ff9ba40c1f0905941d8d696ce354b79031b144.tar.gz
external_llvm-e3ff9ba40c1f0905941d8d696ce354b79031b144.tar.bz2
Add some missing x86 patterns for movdq2q. Fixes two (LLVM-)GCC DejaGNU testcases. Radar 6881029.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102199 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r--test/CodeGen/X86/mmx-movdq2q1.ll9
-rw-r--r--test/CodeGen/X86/mmx-movdq2q2.ll9
-rw-r--r--test/CodeGen/X86/mmx-movdq2q3.ll9
-rw-r--r--test/CodeGen/X86/mmx-movdq2q4.ll9
4 files changed, 36 insertions, 0 deletions
diff --git a/test/CodeGen/X86/mmx-movdq2q1.ll b/test/CodeGen/X86/mmx-movdq2q1.ll
new file mode 100644
index 0000000..6340502
--- /dev/null
+++ b/test/CodeGen/X86/mmx-movdq2q1.ll
@@ -0,0 +1,9 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+mmx,+sse2 | grep movdq2q | count 2
+define void @t2(double %a, double %b) nounwind {
+entry:
+ %tmp1 = bitcast double %a to <2 x i32>
+ %tmp2 = bitcast double %b to <2 x i32>
+ %tmp3 = add <2 x i32> %tmp1, %tmp2
+ store <2 x i32> %tmp3, <2 x i32>* null
+ ret void
+}
diff --git a/test/CodeGen/X86/mmx-movdq2q2.ll b/test/CodeGen/X86/mmx-movdq2q2.ll
new file mode 100644
index 0000000..f12fdb2
--- /dev/null
+++ b/test/CodeGen/X86/mmx-movdq2q2.ll
@@ -0,0 +1,9 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+mmx,+sse2 | grep movdq2q | count 2
+define void @t2(double %a, double %b) nounwind {
+entry:
+ %tmp1 = bitcast double %a to <4 x i16>
+ %tmp2 = bitcast double %b to <4 x i16>
+ %tmp3 = add <4 x i16> %tmp1, %tmp2
+ store <4 x i16> %tmp3, <4 x i16>* null
+ ret void
+}
diff --git a/test/CodeGen/X86/mmx-movdq2q3.ll b/test/CodeGen/X86/mmx-movdq2q3.ll
new file mode 100644
index 0000000..c3cf00c
--- /dev/null
+++ b/test/CodeGen/X86/mmx-movdq2q3.ll
@@ -0,0 +1,9 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+mmx,+sse2 | grep movdq2q | count 2
+define void @t2(double %a, double %b) nounwind {
+entry:
+ %tmp1 = bitcast double %a to <8 x i8>
+ %tmp2 = bitcast double %b to <8 x i8>
+ %tmp3 = add <8 x i8> %tmp1, %tmp2
+ store <8 x i8> %tmp3, <8 x i8>* null
+ ret void
+}
diff --git a/test/CodeGen/X86/mmx-movdq2q4.ll b/test/CodeGen/X86/mmx-movdq2q4.ll
new file mode 100644
index 0000000..b23c730
--- /dev/null
+++ b/test/CodeGen/X86/mmx-movdq2q4.ll
@@ -0,0 +1,9 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+mmx,+sse2 | grep movdq2q | count 2
+define void @t2(double %a, double %b) nounwind {
+entry:
+ %tmp1 = bitcast double %a to <1 x i64>
+ %tmp2 = bitcast double %b to <1 x i64>
+ %tmp3 = add <1 x i64> %tmp1, %tmp2
+ store <1 x i64> %tmp3, <1 x i64>* null
+ ret void
+}