From: Simon Pilgrim Date: Sat, 5 Feb 2022 15:21:51 +0000 (+0000) Subject: [InstCombine] Add PR34063 test coverage X-Git-Tag: upstream/15.0.7~17664 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f97aa7e1d70f1b259e5fddd85de05235b01b192;p=platform%2Fupstream%2Fllvm.git [InstCombine] Add PR34063 test coverage --- diff --git a/llvm/test/Transforms/InstCombine/div.ll b/llvm/test/Transforms/InstCombine/div.ll index 71e83e64d7cc..fea6c188500f 100644 --- a/llvm/test/Transforms/InstCombine/div.ll +++ b/llvm/test/Transforms/InstCombine/div.ll @@ -1301,3 +1301,46 @@ define i32 @udiv_select_of_constants_divisor(i1 %b, i32 %x) { %r = udiv i32 %x, %s ret i32 %r } + +; PR34063 +; 1 / X !=/== -1 + +define i1 @sdiv_one_icmpeq_one(i32 %x) { +; CHECK-LABEL: @sdiv_one_icmpeq_one( +; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], 1 +; CHECK-NEXT: ret i1 [[TMP1]] +; + %A = sdiv i32 1, %x + %B = icmp eq i32 %A, 1 + ret i1 %B +} + +define i1 @sdiv_one_icmpeq_negone(i32 %x) { +; CHECK-LABEL: @sdiv_one_icmpeq_negone( +; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], -1 +; CHECK-NEXT: ret i1 [[TMP1]] +; + %A = sdiv i32 1, %x + %B = icmp eq i32 %A, -1 + ret i1 %B +} + +define i1 @udiv_one_icmpeq_one(i32 %x) { +; CHECK-LABEL: @udiv_one_icmpeq_one( +; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[X:%.*]], 1 +; CHECK-NEXT: ret i1 [[TMP1]] +; + %A = udiv i32 1, %x + %B = icmp eq i32 %A, 1 + ret i1 %B +} + +define i1 @udiv_one_icmpne_one(i32 %x) { +; CHECK-LABEL: @udiv_one_icmpne_one( +; CHECK-NEXT: [[TMP1:%.*]] = icmp ne i32 [[X:%.*]], 1 +; CHECK-NEXT: ret i1 [[TMP1]] +; + %A = udiv i32 1, %x + %B = icmp ne i32 %A, 1 + ret i1 %B +}