Implement PR3266 & PR5276, folding:
[oota-llvm.git] / test / Transforms / InstCombine / or.ll
index dbdd08a489af0a758fcd56fa967432cd1eeaeb65..b72480b4f9d09002234aa8ad13020b699eabf12b 100644 (file)
@@ -237,4 +237,19 @@ define i1 @test24(double %X, double %Y) {
 ; CHECK: @test24
 ; CHECK:   %bothcond = fcmp uno double %Y, %X              ; <i1> [#uses=1]
 ; CHECK:   ret i1 %bothcond
-}
\ No newline at end of file
+}
+
+; PR3266 & PR5276
+define i1 @test25(i32 %A, i32 %B) {
+  %C = icmp eq i32 %A, 0
+  %D = icmp eq i32 %B, 57
+  %E = or i1 %C, %D
+  %F = xor i1 %E, -1
+  ret i1 %F
+
+; CHECK: @test25
+; CHECK: icmp ne i32 %A, 0
+; CHECK-NEXT: icmp ne i32 %B, 57
+; CHECK-NEXT:  %F = and i1 
+; CHECK-NEXT:  ret i1 %F
+}