aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-12 16:57:39 +0000
committerChris Lattner <sabre@nondot.org>2006-04-12 16:57:39 +0000
commit88d3c241962ce47d7d1bb6519bf02a1b67a3af66 (patch)
tree07bb290e423410c62397a2d3f944ee397501377b
parent2b1c3258d68271098172e52d4e1f8424d855025f (diff)
Make this test more interesting by checking that the 0.0 used to implement vector fmul gets cse'd also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27610 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/PowerPC/vxor-canonicalize.ll10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/CodeGen/PowerPC/vxor-canonicalize.ll b/test/CodeGen/PowerPC/vxor-canonicalize.ll
index b14d85a9d7..345697476a 100644
--- a/test/CodeGen/PowerPC/vxor-canonicalize.ll
+++ b/test/CodeGen/PowerPC/vxor-canonicalize.ll
@@ -1,7 +1,11 @@
-; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vxor | wc -l | grep 1
-; There should be exactly one vxor here, not two.
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vxor | wc -l | grep 1
+; There should be exactly one vxor here.
-void %test(<4 x float>* %P1, <4 x int>* %P2) {
+void %test(<4 x float>* %P1, <4 x int>* %P2, <4 x float>* %P3) {
+ %tmp = load <4 x float>* %P3
+ %tmp3 = load <4 x float>* %P1
+ %tmp4 = mul <4 x float> %tmp, %tmp3
+ store <4 x float> %tmp4, <4 x float>* %P3
store <4 x float> zeroinitializer, <4 x float>* %P1
store <4 x int> zeroinitializer, <4 x int>* %P2
ret void