Skip to content

Commit d6dc555

Browse files
committed
ValueTracking: pre-commit constrange-samesign tests
1 parent 5870c19 commit d6dc555

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

llvm/test/Analysis/ValueTracking/constant-ranges.ll

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,15 @@ define i1 @srem_posC_okay0(i8 %x) {
160160
ret i1 %r
161161
}
162162

163+
define i1 @srem_posC_okay0_samesign(i8 %x) {
164+
; CHECK-LABEL: @srem_posC_okay0_samesign(
165+
; CHECK-NEXT: ret i1 true
166+
;
167+
%val = srem i8 34, %x
168+
%r = icmp samesign ule i8 %val, 34
169+
ret i1 %r
170+
}
171+
163172
define i1 @srem_posC_okay1(i8 %x) {
164173
; CHECK-LABEL: @srem_posC_okay1(
165174
; CHECK-NEXT: ret i1 true
@@ -169,6 +178,15 @@ define i1 @srem_posC_okay1(i8 %x) {
169178
ret i1 %r
170179
}
171180

181+
define i1 @srem_posC_okay1_samesign(i8 %x) {
182+
; CHECK-LABEL: @srem_posC_okay1_samesign(
183+
; CHECK-NEXT: ret i1 false
184+
;
185+
%val = srem i8 34, %x
186+
%r = icmp samesign uge i8 %val, -3
187+
ret i1 %r
188+
}
189+
172190
define i1 @srem_negC_okay0(i8 %x) {
173191
; CHECK-LABEL: @srem_negC_okay0(
174192
; CHECK-NEXT: ret i1 true
@@ -178,6 +196,17 @@ define i1 @srem_negC_okay0(i8 %x) {
178196
ret i1 %r
179197
}
180198

199+
define i1 @srem_negC_okay0_samesign(i8 %x) {
200+
; CHECK-LABEL: @srem_negC_okay0_samesign(
201+
; CHECK-NEXT: [[VAL:%.*]] = srem i8 -34, [[X:%.*]]
202+
; CHECK-NEXT: [[R:%.*]] = icmp samesign ule i8 [[VAL]], 0
203+
; CHECK-NEXT: ret i1 [[R]]
204+
;
205+
%val = srem i8 -34, %x
206+
%r = icmp samesign ule i8 %val, 0
207+
ret i1 %r
208+
}
209+
181210
define i1 @srem_negC_okay1(i8 %x) {
182211
; CHECK-LABEL: @srem_negC_okay1(
183212
; CHECK-NEXT: ret i1 true
@@ -187,6 +216,17 @@ define i1 @srem_negC_okay1(i8 %x) {
187216
ret i1 %r
188217
}
189218

219+
define i1 @srem_negC_okay1_samesign(i8 %x) {
220+
; CHECK-LABEL: @srem_negC_okay1_samesign(
221+
; CHECK-NEXT: [[VAL:%.*]] = srem i8 -34, [[X:%.*]]
222+
; CHECK-NEXT: [[R:%.*]] = icmp samesign uge i8 [[VAL]], -34
223+
; CHECK-NEXT: ret i1 [[R]]
224+
;
225+
%val = srem i8 -34, %x
226+
%r = icmp samesign uge i8 %val, -34
227+
ret i1 %r
228+
}
229+
190230
define i1 @srem_posC_fail0(i8 %x) {
191231
; CHECK-LABEL: @srem_posC_fail0(
192232
; CHECK-NEXT: [[VAL:%.*]] = srem i8 34, [[X:%.*]]

0 commit comments

Comments
 (0)