aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-02-29 06:09:11 +0000
committerChris Lattner <sabre@nondot.org>2008-02-29 06:09:11 +0000
commitbe9e63e2183434e1da9c88701506698c4af58823 (patch)
tree2a347439e0362e0fdcce3ae47fd5ee9b9f2a1926 /test/Transforms
parenta3e0d87ba907bd35cd9b6f28573433377e95d145 (diff)
downloadexternal_llvm-be9e63e2183434e1da9c88701506698c4af58823.zip
external_llvm-be9e63e2183434e1da9c88701506698c4af58823.tar.gz
external_llvm-be9e63e2183434e1da9c88701506698c4af58823.tar.bz2
Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47750 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/InstCombine/2008-02-28-OrFCmpCrash.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/2008-02-28-OrFCmpCrash.ll b/test/Transforms/InstCombine/2008-02-28-OrFCmpCrash.ll
new file mode 100644
index 0000000..ea02403
--- /dev/null
+++ b/test/Transforms/InstCombine/2008-02-28-OrFCmpCrash.ll
@@ -0,0 +1,16 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis
+; rdar://5771353
+
+define float @test(float %x, x86_fp80 %y) nounwind readonly {
+entry:
+ %tmp67 = fcmp uno x86_fp80 %y, 0xK00000000000000000000 ; <i1> [#uses=1]
+ %tmp71 = fcmp uno float %x, 0.000000e+00 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp67, %tmp71 ; <i1> [#uses=1]
+ br i1 %bothcond, label %bb74, label %bb80
+
+bb74: ; preds = %entry
+ ret float 0.000000e+00
+
+bb80: ; preds = %entry
+ ret float 0.000000e+00
+}