@@ -227,10 +227,7 @@ define i8 @scmp_from_select_lt(i32 %x, i32 %y) {
227
227
define i8 @scmp_from_select_lt_and_gt (i32 %x , i32 %y ) {
228
228
; CHECK-LABEL: define i8 @scmp_from_select_lt_and_gt(
229
229
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
230
- ; CHECK-NEXT: [[GT_BOOL:%.*]] = icmp sgt i32 [[X]], [[Y]]
231
- ; CHECK-NEXT: [[GT:%.*]] = zext i1 [[GT_BOOL]] to i8
232
- ; CHECK-NEXT: [[LT:%.*]] = icmp ult i32 [[X]], [[Y]]
233
- ; CHECK-NEXT: [[R:%.*]] = select i1 [[LT]], i8 -1, i8 [[GT]]
230
+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.scmp.i8.i32(i32 [[X]], i32 [[Y]])
234
231
; CHECK-NEXT: ret i8 [[R]]
235
232
;
236
233
%gt_bool = icmp sgt i32 %x , %y
@@ -337,10 +334,7 @@ define i8 @scmp_of_sub_and_zero_neg3(i32 %x, i32 %y) {
337
334
define i8 @scmp_from_select_gt_and_lt (i32 %x , i32 %y ) {
338
335
; CHECK-LABEL: define i8 @scmp_from_select_gt_and_lt(
339
336
; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
340
- ; CHECK-NEXT: [[LT_BOOL:%.*]] = icmp slt i32 [[X]], [[Y]]
341
- ; CHECK-NEXT: [[LT:%.*]] = sext i1 [[LT_BOOL]] to i8
342
- ; CHECK-NEXT: [[GT:%.*]] = icmp sgt i32 [[X]], [[Y]]
343
- ; CHECK-NEXT: [[R:%.*]] = select i1 [[GT]], i8 1, i8 [[LT]]
337
+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.scmp.i8.i32(i32 [[X]], i32 [[Y]])
344
338
; CHECK-NEXT: ret i8 [[R]]
345
339
;
346
340
%lt_bool = icmp slt i32 %x , %y
0 commit comments