aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2007-07-02 16:23:47 +0000
committerDan Gohman <gohman@apple.com>2007-07-02 16:23:47 +0000
commit9212a8261f6719799144c56ba0c73678298c2dea (patch)
tree58d8ccadeb3465f69989fc87927e85a0f9dc1c6c
parent1866f6ec7be6f9499d50fff6caea4007f000c82e (diff)
Add a basic test-case for passing and returning <4 x double> and
<8 x float> values on X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37845 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/X86/illegal-vector-args-return.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/X86/illegal-vector-args-return.ll b/test/CodeGen/X86/illegal-vector-args-return.ll
new file mode 100644
index 0000000000..235dc7a5f1
--- /dev/null
+++ b/test/CodeGen/X86/illegal-vector-args-return.ll
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | llc -mattr=+sse2 | grep {mulpd %xmm3, %xmm1}
+; RUN: llvm-as < %s | llc -mattr=+sse2 | grep {mulpd %xmm2, %xmm0}
+; RUN: llvm-as < %s | llc -mattr=+sse2 | grep {addps %xmm3, %xmm1}
+; RUN: llvm-as < %s | llc -mattr=+sse2 | grep {addps %xmm2, %xmm0}
+
+define <4 x double> @foo(<4 x double> %x, <4 x double> %z) {
+ %y = mul <4 x double> %x, %z
+ ret <4 x double> %y
+}
+
+define <8 x float> @bar(<8 x float> %x, <8 x float> %z) {
+ %y = add <8 x float> %x, %z
+ ret <8 x float> %y
+}