summaryrefslogtreecommitdiffstats
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
commitfdb64518d6eb29aa12e0678abfd1c35ba2e830bd (patch)
tree9066d9e5fcd119c7977c7f1facedbfa4a14683eb
parent427301fdaeae1180c444858be5b8c8026d546cd6 (diff)
downloadbcm5719-llvm-fdb64518d6eb29aa12e0678abfd1c35ba2e830bd.tar.gz
bcm5719-llvm-fdb64518d6eb29aa12e0678abfd1c35ba2e830bd.zip
This test should compile down to one comparison, not two.
llvm-svn: 31329
-rw-r--r--llvm/test/Regression/CodeGen/PowerPC/fp-branch.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Regression/CodeGen/PowerPC/fp-branch.ll b/llvm/test/Regression/CodeGen/PowerPC/fp-branch.ll
new file mode 100644
index 00000000000..3edda73c69c
--- /dev/null
+++ b/llvm/test/Regression/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
+}
OpenPOWER on IntegriCloud