This test should compile down to one comparison, not two.
authorChris Lattner <sabre@nondot.org>
Tue, 31 Oct 2006 23:05:16 +0000 (23:05 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 31 Oct 2006 23:05:16 +0000 (23:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31329 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/PowerPC/fp-branch.ll [new file with mode: 0644]

diff --git a/test/CodeGen/PowerPC/fp-branch.ll b/test/CodeGen/PowerPC/fp-branch.ll
new file mode 100644 (file)
index 0000000..3edda73
--- /dev/null
@@ -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
+}