summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/fp-branch.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-10-31 23:05:16 +0000
committerChris Lattner <sabre@nondot.org>2006-10-31 23:05:16 +0000
commit04ffebc79875db2274e6cad55737c3dfc0bc1b60 (patch)
treeb039961e781ff9ab98c8698ffbe3504eae381de6 /test/CodeGen/PowerPC/fp-branch.ll
parentdf19f27d039fd791c73e39f4134319debc75db4f (diff)
This test should compile down to one comparison, not two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31329 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/fp-branch.ll')
-rw-r--r--test/CodeGen/PowerPC/fp-branch.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/fp-branch.ll b/test/CodeGen/PowerPC/fp-branch.ll
new file mode 100644
index 00000000000..3edda73c69c
--- /dev/null
+++ b/test/CodeGen/PowerPC/fp-branch.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-as < %s | llc -march=ppc32 | grep fcmp | wc -l | grep 1
+
+declare bool %llvm.isunordered.f64(double, double)
+
+bool %intcoord_cond_next55(double %tmp48.reload) {
+newFuncRoot:
+ br label %cond_next55
+
+bb72.exitStub: ; preds = %cond_next55
+ ret bool true
+
+cond_next62.exitStub: ; preds = %cond_next55
+ ret bool false
+
+cond_next55: ; preds = %newFuncRoot
+ %tmp57 = setge double %tmp48.reload, 1.000000e+00 ; <bool> [#uses=1]
+ %tmp58 = tail call bool %llvm.isunordered.f64( double %tmp48.reload, double 1.000000e+00 ) ; <bool> [#uses=1]
+ %tmp59 = or bool %tmp57, %tmp58 ; <bool> [#uses=1]
+ br bool %tmp59, label %bb72.exitStub, label %cond_next62.exitStub
+}