Skip to content

Commit 4f97aa7

Browse files
committed
[InstCombine] Add PR34063 test coverage
1 parent 5372160 commit 4f97aa7

File tree

1 file changed

+43
-0
lines changed
  • llvm/test/Transforms/InstCombine

1 file changed

+43
-0
lines changed

llvm/test/Transforms/InstCombine/div.ll

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,3 +1301,46 @@ define i32 @udiv_select_of_constants_divisor(i1 %b, i32 %x) {
13011301
%r = udiv i32 %x, %s
13021302
ret i32 %r
13031303
}
1304+
1305+
; PR34063
1306+
; 1 / X !=/== -1
1307+
1308+
define i1 @sdiv_one_icmpeq_one(i32 %x) {
1309+
; CHECK-LABEL: @sdiv_one_icmpeq_one(
1310+
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], 1
1311+
; CHECK-NEXT: ret i1 [[TMP1]]
1312+
;
1313+
%A = sdiv i32 1, %x
1314+
%B = icmp eq i32 %A, 1
1315+
ret i1 %B
1316+
}
1317+
1318+
define i1 @sdiv_one_icmpeq_negone(i32 %x) {
1319+
; CHECK-LABEL: @sdiv_one_icmpeq_negone(
1320+
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], -1
1321+
; CHECK-NEXT: ret i1 [[TMP1]]
1322+
;
1323+
%A = sdiv i32 1, %x
1324+
%B = icmp eq i32 %A, -1
1325+
ret i1 %B
1326+
}
1327+
1328+
define i1 @udiv_one_icmpeq_one(i32 %x) {
1329+
; CHECK-LABEL: @udiv_one_icmpeq_one(
1330+
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], 1
1331+
; CHECK-NEXT: ret i1 [[TMP1]]
1332+
;
1333+
%A = udiv i32 1, %x
1334+
%B = icmp eq i32 %A, 1
1335+
ret i1 %B
1336+
}
1337+
1338+
define i1 @udiv_one_icmpne_one(i32 %x) {
1339+
; CHECK-LABEL: @udiv_one_icmpne_one(
1340+
; CHECK-NEXT: [[TMP1:%.*]] = icmp ne i32 [[X:%.*]], 1
1341+
; CHECK-NEXT: ret i1 [[TMP1]]
1342+
;
1343+
%A = udiv i32 1, %x
1344+
%B = icmp ne i32 %A, 1
1345+
ret i1 %B
1346+
}

0 commit comments

Comments
 (0)