@@ -7,7 +7,7 @@ define i1 @shl_nsw_scmp(i8 %a, i1 %cond) {
7
7
; CHECK-LABEL: define i1 @shl_nsw_scmp(
8
8
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
9
9
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 1, i8 2
10
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[SEL1]], [[A]]
10
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[SEL1]], [[A]]
11
11
; CHECK-NEXT: ret i1 [[CMP]]
12
12
;
13
13
%a_shl = shl nsw i8 %a , 3
@@ -47,7 +47,7 @@ define i1 @shl_nsw_ucmp(i8 %a, i1 %cond) {
47
47
; CHECK-LABEL: define i1 @shl_nsw_ucmp(
48
48
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
49
49
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 1, i8 3
50
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[SEL1]], [[A]]
50
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ult i8 [[SEL1]], [[A]]
51
51
; CHECK-NEXT: ret i1 [[CMP]]
52
52
;
53
53
%a_shl = shl nsw i8 %a , 3
@@ -62,7 +62,7 @@ define i1 @shl_nuw_ucmp(i8 %a, i1 %cond) {
62
62
; CHECK-LABEL: define i1 @shl_nuw_ucmp(
63
63
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
64
64
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 1, i8 4
65
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ult i8 [[SEL1]], [[A]]
65
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[SEL1]], [[A]]
66
66
; CHECK-NEXT: ret i1 [[CMP]]
67
67
;
68
68
%a_shl = shl nuw i8 %a , 3
@@ -106,7 +106,7 @@ define i1 @ashr_exact_ucmp(i8 %a, i1 %cond) {
106
106
; CHECK-LABEL: define i1 @ashr_exact_ucmp(
107
107
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
108
108
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 48, i8 16
109
- ; CHECK-NEXT: [[CMP:%.*]] = icmp uge i8 [[SEL1]], [[A]]
109
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ule i8 [[SEL1]], [[A]]
110
110
; CHECK-NEXT: ret i1 [[CMP]]
111
111
;
112
112
%a_shl = ashr exact i8 %a , 2
@@ -119,7 +119,7 @@ define i1 @ashr_exact_scmp(i8 %a, i1 %cond) {
119
119
; CHECK-LABEL: define i1 @ashr_exact_scmp(
120
120
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
121
121
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 32, i8 16
122
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[SEL1]], [[A]]
122
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[SEL1]], [[A]]
123
123
; CHECK-NEXT: ret i1 [[CMP]]
124
124
;
125
125
%a_shl = ashr exact i8 %a , 2
@@ -134,7 +134,7 @@ define i1 @lshr_exact_ucmp(i8 %a, i1 %cond) {
134
134
; CHECK-LABEL: define i1 @lshr_exact_ucmp(
135
135
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
136
136
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 2, i8 6
137
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[SEL1]], [[A]]
137
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ult i8 [[SEL1]], [[A]]
138
138
; CHECK-NEXT: ret i1 [[CMP]]
139
139
;
140
140
%a_shl = lshr exact i8 %a , 1
@@ -147,7 +147,7 @@ define i1 @lshr_exact_scmp(i8 %a, i1 %cond) {
147
147
; CHECK-LABEL: define i1 @lshr_exact_scmp(
148
148
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
149
149
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 2, i8 6
150
- ; CHECK-NEXT: [[CMP:%.*]] = icmp uge i8 [[SEL1]], [[A]]
150
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ule i8 [[SEL1]], [[A]]
151
151
; CHECK-NEXT: ret i1 [[CMP]]
152
152
;
153
153
%a_shl = lshr exact i8 %a , 1
@@ -232,7 +232,7 @@ define i1 @or_disjoint_ucmp(i8 %a, i1 %cond) {
232
232
; CHECK-LABEL: define i1 @or_disjoint_ucmp(
233
233
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
234
234
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 8, i8 4
235
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ult i8 [[SEL1]], [[A]]
235
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[SEL1]], [[A]]
236
236
; CHECK-NEXT: ret i1 [[CMP]]
237
237
;
238
238
%or = or disjoint i8 %a , 3
@@ -245,7 +245,7 @@ define i1 @or_disjoint_scmp(i8 %a, i1 %cond) {
245
245
; CHECK-LABEL: define i1 @or_disjoint_scmp(
246
246
; CHECK-SAME: i8 [[A:%.*]], i1 [[COND:%.*]]) {
247
247
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[COND]], i8 8, i8 4
248
- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[SEL1]], [[A]]
248
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[SEL1]], [[A]]
249
249
; CHECK-NEXT: ret i1 [[CMP]]
250
250
;
251
251
%or = or disjoint i8 %a , 3
0 commit comments