[llvm] 4f97aa7 - [InstCombine] Add PR34063 test coverage

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 5 07:24:21 PST 2022


Author: Simon Pilgrim
Date: 2022-02-05T15:22:13Z
New Revision: 4f97aa7e1d70f1b259e5fddd85de05235b01b192

URL: https://github.com/llvm/llvm-project/commit/4f97aa7e1d70f1b259e5fddd85de05235b01b192
DIFF: https://github.com/llvm/llvm-project/commit/4f97aa7e1d70f1b259e5fddd85de05235b01b192.diff

LOG: [InstCombine] Add PR34063 test coverage

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/div.ll

Removed: 
    


################################################################################
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
+}


        


More information about the llvm-commits mailing list