Skip to content

Commit 0806e62

Browse files
committed
Add test cases coming from #138373
1 parent fa3c083 commit 0806e62

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

llvm/test/Transforms/InstCombine/binop-select.ll

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,3 +563,28 @@ define i8 @commonArgWithAdd0(i1 %arg0) {
563563
%v3 = or i8 %v2, 16
564564
ret i8 %v3
565565
}
566+
567+
define i32 @OrSelectIcmpZero(i32 %a, i32 %b) {
568+
; CHECK-LABEL: @OrSelectIcmpZero(
569+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[A:%.*]], 0
570+
; CHECK-NEXT: [[OR:%.*]] = select i1 [[CMP]], i32 [[B:%.*]], i32 [[A]]
571+
; CHECK-NEXT: ret i32 [[OR]]
572+
;
573+
%cmp = icmp eq i32 %a, 0
574+
%sel = select i1 %cmp, i32 %b, i32 0
575+
%or = or i32 %sel, %a
576+
ret i32 %or
577+
}
578+
579+
define i32 @OrSelectIcmpNonZero(i32 %a, i32 %b) {
580+
; CHECK-LABEL: @OrSelectIcmpNonZero(
581+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[A:%.*]], 0
582+
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[CMP]], i32 [[B:%.*]], i32 42
583+
; CHECK-NEXT: [[OR:%.*]] = or i32 [[SEL]], [[A]]
584+
; CHECK-NEXT: ret i32 [[OR]]
585+
;
586+
%cmp = icmp eq i32 %a, 0
587+
%sel = select i1 %cmp, i32 %b, i32 42
588+
%or = or i32 %sel, %a
589+
ret i32 %or
590+
}

0 commit comments

Comments
 (0)