Skip to content

Commit 5401d39

Browse files
committed
../llvm/utils/update_test_checks.py --opt-binary bin/opt ../llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
1 parent 623461b commit 5401d39

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,12 @@ define i8 @smax_nsw(i8 %a, i8 %b) {
3434
define i8 @abs_swapped(i8 %a) {
3535
; CHECK-LABEL: @abs_swapped(
3636
; CHECK-NEXT: [[NEG:%.*]] = sub i8 0, [[A:%.*]]
37-
; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i8 [[A]], 0
38-
; CHECK-NEXT: [[M1:%.*]] = select i1 [[CMP1]], i8 [[NEG]], i8 [[A]]
39-
; CHECK-NEXT: ret i8 [[M1]]
37+
; CHECK-NEXT: [[CMP1:%.*]] = icmp sgt i8 [[A]], 0
38+
; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i8 [[A]], 0
39+
; CHECK-NEXT: [[M1:%.*]] = select i1 [[CMP1]], i8 [[A]], i8 [[NEG]]
40+
; CHECK-NEXT: [[M2:%.*]] = select i1 [[CMP2]], i8 [[NEG]], i8 [[A]]
41+
; CHECK-NEXT: [[R:%.*]] = or i8 [[M2]], [[M1]]
42+
; CHECK-NEXT: ret i8 [[R]]
4043
;
4144
%neg = sub i8 0, %a
4245
%cmp1 = icmp sgt i8 %a, 0
@@ -51,7 +54,13 @@ define i8 @abs_swapped(i8 %a) {
5154

5255
define i8 @nabs_swapped(i8 %a) {
5356
; CHECK-LABEL: @nabs_swapped(
54-
; CHECK-NEXT: ret i8 0
57+
; CHECK-NEXT: [[NEG:%.*]] = sub i8 0, [[A:%.*]]
58+
; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i8 [[A]], 0
59+
; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i8 [[A]], 0
60+
; CHECK-NEXT: [[M1:%.*]] = select i1 [[CMP1]], i8 [[A]], i8 [[NEG]]
61+
; CHECK-NEXT: [[M2:%.*]] = select i1 [[CMP2]], i8 [[NEG]], i8 [[A]]
62+
; CHECK-NEXT: [[R:%.*]] = xor i8 [[M2]], [[M1]]
63+
; CHECK-NEXT: ret i8 [[R]]
5564
;
5665
%neg = sub i8 0, %a
5766
%cmp1 = icmp slt i8 %a, 0
@@ -66,7 +75,13 @@ define i8 @nabs_swapped(i8 %a) {
6675

6776
define i8 @abs_different_constants(i8 %a) {
6877
; CHECK-LABEL: @abs_different_constants(
69-
; CHECK-NEXT: ret i8 0
78+
; CHECK-NEXT: [[NEG:%.*]] = sub i8 0, [[A:%.*]]
79+
; CHECK-NEXT: [[CMP1:%.*]] = icmp sgt i8 [[A]], -1
80+
; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i8 [[A]], 0
81+
; CHECK-NEXT: [[M1:%.*]] = select i1 [[CMP1]], i8 [[A]], i8 [[NEG]]
82+
; CHECK-NEXT: [[M2:%.*]] = select i1 [[CMP2]], i8 [[NEG]], i8 [[A]]
83+
; CHECK-NEXT: [[R:%.*]] = xor i8 [[M2]], [[M1]]
84+
; CHECK-NEXT: ret i8 [[R]]
7085
;
7186
%neg = sub i8 0, %a
7287
%cmp1 = icmp sgt i8 %a, -1
@@ -83,8 +98,11 @@ define i8 @nabs_different_constants(i8 %a) {
8398
; CHECK-LABEL: @nabs_different_constants(
8499
; CHECK-NEXT: [[NEG:%.*]] = sub i8 0, [[A:%.*]]
85100
; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i8 [[A]], 0
101+
; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i8 [[A]], -1
86102
; CHECK-NEXT: [[M1:%.*]] = select i1 [[CMP1]], i8 [[A]], i8 [[NEG]]
87-
; CHECK-NEXT: ret i8 [[M1]]
103+
; CHECK-NEXT: [[M2:%.*]] = select i1 [[CMP2]], i8 [[NEG]], i8 [[A]]
104+
; CHECK-NEXT: [[R:%.*]] = or i8 [[M2]], [[M1]]
105+
; CHECK-NEXT: ret i8 [[R]]
88106
;
89107
%neg = sub i8 0, %a
90108
%cmp1 = icmp slt i8 %a, 0

0 commit comments

Comments
 (0)