@@ -5,7 +5,7 @@ define i1 @icmp_ugt_srem5_smin(i32 %x) {
5
5
; CHECK-LABEL: define i1 @icmp_ugt_srem5_smin(
6
6
; CHECK-SAME: i32 [[X:%.*]]) {
7
7
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
8
- ; CHECK-NEXT: [[C:%.*]] = icmp ugt i32 [[R]], -2147483648
8
+ ; CHECK-NEXT: [[C:%.*]] = icmp slt i32 [[R]], 0
9
9
; CHECK-NEXT: ret i1 [[C]]
10
10
;
11
11
%r = srem i32 %x , 5
@@ -17,7 +17,7 @@ define i1 @icmp_ugt_srem5_m5(i32 %x) {
17
17
; CHECK-LABEL: define i1 @icmp_ugt_srem5_m5(
18
18
; CHECK-SAME: i32 [[X:%.*]]) {
19
19
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
20
- ; CHECK-NEXT: [[C:%.*]] = icmp ugt i32 [[R]], -5
20
+ ; CHECK-NEXT: [[C:%.*]] = icmp slt i32 [[R]], 0
21
21
; CHECK-NEXT: ret i1 [[C]]
22
22
;
23
23
%r = srem i32 %x , 5
@@ -53,7 +53,7 @@ define i1 @icmp_ugt_srem5_4(i32 %x) {
53
53
; CHECK-LABEL: define i1 @icmp_ugt_srem5_4(
54
54
; CHECK-SAME: i32 [[X:%.*]]) {
55
55
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
56
- ; CHECK-NEXT: [[C:%.*]] = icmp ugt i32 [[R]], 4
56
+ ; CHECK-NEXT: [[C:%.*]] = icmp slt i32 [[R]], 0
57
57
; CHECK-NEXT: ret i1 [[C]]
58
58
;
59
59
%r = srem i32 %x , 5
@@ -65,7 +65,7 @@ define i1 @icmp_ugt_srem5_smaxm1(i32 %x) {
65
65
; CHECK-LABEL: define i1 @icmp_ugt_srem5_smaxm1(
66
66
; CHECK-SAME: i32 [[X:%.*]]) {
67
67
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
68
- ; CHECK-NEXT: [[C:%.*]] = icmp ugt i32 [[R]], 2147483646
68
+ ; CHECK-NEXT: [[C:%.*]] = icmp slt i32 [[R]], 0
69
69
; CHECK-NEXT: ret i1 [[C]]
70
70
;
71
71
%r = srem i32 %x , 5
@@ -77,7 +77,7 @@ define i1 @icmp_ult_srem5_sminp1(i32 %x) {
77
77
; CHECK-LABEL: define i1 @icmp_ult_srem5_sminp1(
78
78
; CHECK-SAME: i32 [[X:%.*]]) {
79
79
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
80
- ; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[R]], -2147483647
80
+ ; CHECK-NEXT: [[C:%.*]] = icmp sgt i32 [[R]], -1
81
81
; CHECK-NEXT: ret i1 [[C]]
82
82
;
83
83
%r = srem i32 %x , 5
@@ -89,7 +89,7 @@ define i1 @icmp_ult_srem5_m4(i32 %x) {
89
89
; CHECK-LABEL: define i1 @icmp_ult_srem5_m4(
90
90
; CHECK-SAME: i32 [[X:%.*]]) {
91
91
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
92
- ; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[R]], -4
92
+ ; CHECK-NEXT: [[C:%.*]] = icmp sgt i32 [[R]], -1
93
93
; CHECK-NEXT: ret i1 [[C]]
94
94
;
95
95
%r = srem i32 %x , 5
@@ -125,7 +125,7 @@ define i1 @icmp_ult_srem5_5(i32 %x) {
125
125
; CHECK-LABEL: define i1 @icmp_ult_srem5_5(
126
126
; CHECK-SAME: i32 [[X:%.*]]) {
127
127
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
128
- ; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[R]], 5
128
+ ; CHECK-NEXT: [[C:%.*]] = icmp sgt i32 [[R]], -1
129
129
; CHECK-NEXT: ret i1 [[C]]
130
130
;
131
131
%r = srem i32 %x , 5
@@ -137,7 +137,7 @@ define i1 @icmp_ult_srem5_smax(i32 %x) {
137
137
; CHECK-LABEL: define i1 @icmp_ult_srem5_smax(
138
138
; CHECK-SAME: i32 [[X:%.*]]) {
139
139
; CHECK-NEXT: [[R:%.*]] = srem i32 [[X]], 5
140
- ; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[R]], 2147483647
140
+ ; CHECK-NEXT: [[C:%.*]] = icmp sgt i32 [[R]], -1
141
141
; CHECK-NEXT: ret i1 [[C]]
142
142
;
143
143
%r = srem i32 %x , 5
0 commit comments