@@ -433,10 +433,9 @@ define i32 @sub_abs_gt(i32 %x, i32 %y) {
433
433
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
434
434
; CHECK: cond.true:
435
435
; CHECK-NEXT: [[SUB:%.*]] = sub nsw i32 [[X]], [[Y]]
436
- ; CHECK-NEXT: [[TMP0:%.*]] = call i32 @llvm.abs.i32(i32 [[SUB]], i1 true)
437
436
; CHECK-NEXT: br label [[COND_END]]
438
437
; CHECK: cond.end:
439
- ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[TMP0 ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
438
+ ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[SUB ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
440
439
; CHECK-NEXT: ret i32 [[R]]
441
440
;
442
441
entry:
@@ -456,14 +455,13 @@ cond.end:
456
455
define i32 @sub_abs_lt (i32 %x , i32 %y ) {
457
456
; CHECK-LABEL: @sub_abs_lt(
458
457
; CHECK-NEXT: entry:
459
- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[X :%.*]], [[Y :%.*]]
458
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[Y :%.*]], [[X :%.*]]
460
459
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
461
460
; CHECK: cond.true:
462
- ; CHECK-NEXT: [[SUB:%.*]] = sub nsw i32 [[X]], [[Y]]
463
- ; CHECK-NEXT: [[TMP0:%.*]] = call i32 @llvm.abs.i32(i32 [[SUB]], i1 true)
461
+ ; CHECK-NEXT: [[SUB_NEG:%.*]] = sub i32 [[Y]], [[X]]
464
462
; CHECK-NEXT: br label [[COND_END]]
465
463
; CHECK: cond.end:
466
- ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[TMP0 ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
464
+ ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[SUB_NEG ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
467
465
; CHECK-NEXT: ret i32 [[R]]
468
466
;
469
467
entry:
@@ -483,14 +481,13 @@ cond.end:
483
481
define i32 @sub_abs_lt_min_not_poison (i32 %x , i32 %y ) {
484
482
; CHECK-LABEL: @sub_abs_lt_min_not_poison(
485
483
; CHECK-NEXT: entry:
486
- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[X :%.*]], [[Y :%.*]]
484
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[Y :%.*]], [[X :%.*]]
487
485
; CHECK-NEXT: br i1 [[CMP]], label [[COND_TRUE:%.*]], label [[COND_END:%.*]]
488
486
; CHECK: cond.true:
489
- ; CHECK-NEXT: [[SUB:%.*]] = sub nsw i32 [[X]], [[Y]]
490
- ; CHECK-NEXT: [[TMP0:%.*]] = call i32 @llvm.abs.i32(i32 [[SUB]], i1 false)
487
+ ; CHECK-NEXT: [[SUB_NEG:%.*]] = sub i32 [[Y]], [[X]]
491
488
; CHECK-NEXT: br label [[COND_END]]
492
489
; CHECK: cond.end:
493
- ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[TMP0 ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
490
+ ; CHECK-NEXT: [[R:%.*]] = phi i32 [ [[SUB_NEG ]], [[COND_TRUE]] ], [ 0, [[ENTRY:%.*]] ]
494
491
; CHECK-NEXT: ret i32 [[R]]
495
492
;
496
493
entry:
0 commit comments