File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff 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+ }
You can’t perform that action at this time.
0 commit comments