summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/or.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/InstCombine/or.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/or.ll15
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/test/Transforms/InstCombine/or.ll b/llvm/test/Transforms/InstCombine/or.ll
index b31e9a6d0a9..4fb1978615d 100644
--- a/llvm/test/Transforms/InstCombine/or.ll
+++ b/llvm/test/Transforms/InstCombine/or.ll
@@ -189,11 +189,24 @@ define i1 @test18(i32 %A) {
;
%B = icmp sge i32 %A, 100
%C = icmp slt i32 %A, 50
- ;; (A-50) >u 50
%D = or i1 %B, %C
ret i1 %D
}
+; FIXME: Vectors should fold too.
+define <2 x i1> @test18vec(<2 x i32> %A) {
+; CHECK-LABEL: @test18vec(
+; CHECK-NEXT: [[B:%.*]] = icmp sgt <2 x i32> %A, <i32 99, i32 99>
+; CHECK-NEXT: [[C:%.*]] = icmp slt <2 x i32> %A, <i32 50, i32 50>
+; CHECK-NEXT: [[D:%.*]] = or <2 x i1> [[B]], [[C]]
+; CHECK-NEXT: ret <2 x i1> [[D]]
+;
+ %B = icmp sge <2 x i32> %A, <i32 100, i32 100>
+ %C = icmp slt <2 x i32> %A, <i32 50, i32 50>
+ %D = or <2 x i1> %B, %C
+ ret <2 x i1> %D
+}
+
define i1 @test19(i32 %A) {
; CHECK-LABEL: @test19(
; CHECK-NEXT: [[TMP1:%.*]] = or i32 %A, 1
OpenPOWER on IntegriCloud