@@ -519,9 +519,7 @@ define <3 x i2> @scmp_unary_shuffle_ops(<3 x i8> %x, <3 x i8> %y) {
519519define i32 @scmp_sgt_slt (i32 %a ) {
520520; CHECK-LABEL: define i32 @scmp_sgt_slt(
521521; CHECK-SAME: i32 [[A:%.*]]) {
522- ; CHECK-NEXT: [[A_LOBIT:%.*]] = ashr i32 [[A]], 31
523- ; CHECK-NEXT: [[CMP_INV:%.*]] = icmp slt i32 [[A]], 1
524- ; CHECK-NEXT: [[RETVAL_0:%.*]] = select i1 [[CMP_INV]], i32 [[A_LOBIT]], i32 1
522+ ; CHECK-NEXT: [[RETVAL_0:%.*]] = call i32 @llvm.scmp.i32.i32(i32 [[A]], i32 0)
525523; CHECK-NEXT: ret i32 [[RETVAL_0]]
526524;
527525 %cmp = icmp sgt i32 %a , 0
@@ -751,9 +749,7 @@ define i8 @scmp_from_select_eq_and_gt_neg3(i32 %x, i32 %y) {
751749define i32 @scmp_ashr (i32 %a ) {
752750; CHECK-LABEL: define i32 @scmp_ashr(
753751; CHECK-SAME: i32 [[A:%.*]]) {
754- ; CHECK-NEXT: [[A_LOBIT:%.*]] = ashr i32 [[A]], 31
755- ; CHECK-NEXT: [[CMP_INV:%.*]] = icmp slt i32 [[A]], 1
756- ; CHECK-NEXT: [[RETVAL_0:%.*]] = select i1 [[CMP_INV]], i32 [[A_LOBIT]], i32 1
752+ ; CHECK-NEXT: [[RETVAL_0:%.*]] = call i32 @llvm.scmp.i32.i32(i32 [[A]], i32 0)
757753; CHECK-NEXT: ret i32 [[RETVAL_0]]
758754;
759755 %a.lobit = ashr i32 %a , 31
@@ -766,9 +762,7 @@ define i32 @scmp_ashr(i32 %a) {
766762define i8 @scmp_ashr_sgt_pattern (i8 %a ) {
767763; CHECK-LABEL: define i8 @scmp_ashr_sgt_pattern(
768764; CHECK-SAME: i8 [[A:%.*]]) {
769- ; CHECK-NEXT: [[A_LOBIT:%.*]] = ashr i8 [[A]], 7
770- ; CHECK-NEXT: [[CMP_INV:%.*]] = icmp slt i8 [[A]], 1
771- ; CHECK-NEXT: [[R:%.*]] = select i1 [[CMP_INV]], i8 [[A_LOBIT]], i8 1
765+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.scmp.i8.i8(i8 [[A]], i8 0)
772766; CHECK-NEXT: ret i8 [[R]]
773767;
774768 %a.lobit = ashr i8 %a , 7
@@ -781,9 +775,7 @@ define i8 @scmp_ashr_sgt_pattern(i8 %a) {
781775define i8 @scmp_ashr_slt_pattern (i8 %a ) {
782776; CHECK-LABEL: define i8 @scmp_ashr_slt_pattern(
783777; CHECK-SAME: i8 [[A:%.*]]) {
784- ; CHECK-NEXT: [[A_LOBIT:%.*]] = ashr i8 [[A]], 7
785- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[A]], 1
786- ; CHECK-NEXT: [[R:%.*]] = select i1 [[CMP]], i8 [[A_LOBIT]], i8 1
778+ ; CHECK-NEXT: [[R:%.*]] = call i8 @llvm.scmp.i8.i8(i8 [[A]], i8 0)
787779; CHECK-NEXT: ret i8 [[R]]
788780;
789781 %a.lobit = ashr i8 %a , 7
0 commit comments