@@ -226,10 +226,7 @@ define i8 @ucmp_from_select_lt(i32 %x, i32 %y) {
226
226
define i8 @ucmp_from_select_lt_and_gt (i32 %x , i32 %y ) {
227
227
; CHECK-LABEL: define i8 @ucmp_from_select_lt_and_gt(
228
228
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
229
- ; CHECK-NEXT: [[GT_BOOL:%.*]] = icmp ugt i32 [[X]], [[Y]]
230
- ; CHECK-NEXT: [[GT:%.*]] = zext i1 [[GT_BOOL]] to i8
231
- ; CHECK-NEXT: [[LT:%.*]] = icmp ult i32 [[X]], [[Y]]
232
- ; CHECK-NEXT: [[R:%.*]] = select i1 [[LT]], i8 -1, i8 [[GT]]
229
+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.ucmp.i8.i32(i32 [[X]], i32 [[Y]])
233
230
; CHECK-NEXT: ret i8 [[R]]
234
231
;
235
232
%gt_bool = icmp ugt i32 %x , %y
@@ -535,10 +532,7 @@ define i8 @ucmp_from_select_ge_neg4(i32 %x, i32 %y) {
535
532
define i8 @ucmp_from_select_gt_and_lt (i32 %x , i32 %y ) {
536
533
; CHECK-LABEL: define i8 @ucmp_from_select_gt_and_lt(
537
534
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
538
- ; CHECK-NEXT: [[LT_BOOL:%.*]] = icmp ult i32 [[X]], [[Y]]
539
- ; CHECK-NEXT: [[LT:%.*]] = sext i1 [[LT_BOOL]] to i8
540
- ; CHECK-NEXT: [[GT:%.*]] = icmp ugt i32 [[X]], [[Y]]
541
- ; CHECK-NEXT: [[R:%.*]] = select i1 [[GT]], i8 1, i8 [[LT]]
535
+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.ucmp.i8.i32(i32 [[X]], i32 [[Y]])
542
536
; CHECK-NEXT: ret i8 [[R]]
543
537
;
544
538
%lt_bool = icmp ult i32 %x , %y
0 commit comments