@@ -125,10 +125,8 @@ define i64 @fshr_select_no_combine(i64 %a, i64 %b, i64 %c) {
125125; (select (icmp x, 0, eq), 0, (sdiv x, y)) -> (sdiv x, y)
126126define i64 @sdiv_select (i64 %a , i64 %b ) {
127127; CHECK-LABEL: @sdiv_select(
128- ; CHECK-NEXT: [[COND:%.*]] = icmp eq i64 [[A:%.*]], 0
129- ; CHECK-NEXT: [[DIV:%.*]] = sdiv i64 [[A]], [[B_FR:%.*]]
130- ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[COND]], i64 0, i64 [[DIV]]
131- ; CHECK-NEXT: ret i64 [[SELECT]]
128+ ; CHECK-NEXT: [[DIV:%.*]] = sdiv i64 [[A:%.*]], [[B_FR:%.*]]
129+ ; CHECK-NEXT: ret i64 [[DIV]]
132130;
133131 %cond = icmp eq i64 %a , 0
134132 %div = sdiv i64 %a , %b
@@ -139,10 +137,8 @@ define i64 @sdiv_select(i64 %a, i64 %b) {
139137; (select (icmp x, 0, eq), 0, (udiv x, y)) -> (udiv x, y)
140138define i64 @udiv_select (i64 %a , i64 %b ) {
141139; CHECK-LABEL: @udiv_select(
142- ; CHECK-NEXT: [[COND:%.*]] = icmp eq i64 [[A:%.*]], 0
143- ; CHECK-NEXT: [[DIV:%.*]] = udiv i64 [[A]], [[B_FR:%.*]]
144- ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[COND]], i64 0, i64 [[DIV]]
145- ; CHECK-NEXT: ret i64 [[SELECT]]
140+ ; CHECK-NEXT: [[DIV:%.*]] = udiv i64 [[A:%.*]], [[B_FR:%.*]]
141+ ; CHECK-NEXT: ret i64 [[DIV]]
146142;
147143 %cond = icmp eq i64 %a , 0
148144 %div = udiv i64 %a , %b
@@ -153,10 +149,8 @@ define i64 @udiv_select(i64 %a, i64 %b) {
153149; (select (icmp x, 0, eq), 0, (srem x, y)) -> (srem x, y)
154150define i64 @srem_select (i64 %a , i64 %b ) {
155151; CHECK-LABEL: @srem_select(
156- ; CHECK-NEXT: [[COND:%.*]] = icmp eq i64 [[A:%.*]], 0
157- ; CHECK-NEXT: [[REM:%.*]] = srem i64 [[A]], [[B:%.*]]
158- ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[COND]], i64 0, i64 [[REM]]
159- ; CHECK-NEXT: ret i64 [[SELECT]]
152+ ; CHECK-NEXT: [[REM:%.*]] = srem i64 [[A:%.*]], [[B:%.*]]
153+ ; CHECK-NEXT: ret i64 [[REM]]
160154;
161155 %cond = icmp eq i64 %a , 0
162156 %rem = srem i64 %a , %b
@@ -167,10 +161,8 @@ define i64 @srem_select(i64 %a, i64 %b) {
167161; (select (icmp x, 0, eq), 0, (urem x, y)) -> (urem x, y)
168162define i64 @urem_select (i64 %a , i64 %b ) {
169163; CHECK-LABEL: @urem_select(
170- ; CHECK-NEXT: [[COND:%.*]] = icmp eq i64 [[A:%.*]], 0
171- ; CHECK-NEXT: [[REM:%.*]] = urem i64 [[A]], [[B:%.*]]
172- ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[COND]], i64 0, i64 [[REM]]
173- ; CHECK-NEXT: ret i64 [[SELECT]]
164+ ; CHECK-NEXT: [[REM:%.*]] = urem i64 [[A:%.*]], [[B:%.*]]
165+ ; CHECK-NEXT: ret i64 [[REM]]
174166;
175167 %cond = icmp eq i64 %a , 0
176168 %rem = urem i64 %a , %b
0 commit comments