[llvm] 6fccfd7 - [InstCombine] add icmp with no-wrap add tests; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 8 05:40:10 PDT 2021


Author: Sanjay Patel
Date: 2021-04-08T08:40:04-04:00
New Revision: 6fccfd7cbdca0c1184cdb77f92329534ffde544c

URL: https://github.com/llvm/llvm-project/commit/6fccfd7cbdca0c1184cdb77f92329534ffde544c
DIFF: https://github.com/llvm/llvm-project/commit/6fccfd7cbdca0c1184cdb77f92329534ffde544c.diff

LOG: [InstCombine] add icmp with no-wrap add tests; NFC

Goes with D100095

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/icmp-add.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/icmp-add.ll b/llvm/test/Transforms/InstCombine/icmp-add.ll
index 40f6fce8a27df..c330cbc202aed 100644
--- a/llvm/test/Transforms/InstCombine/icmp-add.ll
+++ b/llvm/test/Transforms/InstCombine/icmp-add.ll
@@ -663,3 +663,75 @@ define <2 x i1> @icmp_eq_add_non_splat2(<2 x i32> %a) {
   %cmp = icmp eq <2 x i32> %add, <i32 10, i32 11>
   ret <2 x i1> %cmp
 }
+
+define i1 @without_nsw_nuw(i8 %x, i8 %y) {
+; CHECK-LABEL: @without_nsw_nuw(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[X:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[Y:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add i8 %x, 37
+  %t2 = add i8 %y, 35
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}
+
+define i1 @with_nsw_nuw(i8 %x, i8 %y) {
+; CHECK-LABEL: @with_nsw_nuw(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[X:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[Y:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add nsw nuw i8 %x, 37
+  %t2 = add i8 %y, 35
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}
+
+define i1 @with_nsw_large(i8 %x, i8 %y) {
+; CHECK-LABEL: @with_nsw_large(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[X:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[Y:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add nsw i8 %x, 37
+  %t2 = add i8 %y, 35
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}
+
+define i1 @with_nsw_small(i8 %x, i8 %y) {
+; CHECK-LABEL: @with_nsw_small(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[Y:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[X:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add nsw i8 %x, 35
+  %t2 = add i8 %y, 37
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}
+
+define i1 @with_nuw_large(i8 %x, i8 %y) {
+; CHECK-LABEL: @with_nuw_large(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[X:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[Y:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add nuw i8 %x, 37
+  %t2 = add i8 %y, 35
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}
+
+define i1 @with_nuw_small(i8 %x, i8 %y) {
+; CHECK-LABEL: @with_nuw_small(
+; CHECK-NEXT:    [[TMP1:%.*]] = add nsw i8 [[Y:%.*]], 2
+; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i8 [[TMP1]], [[X:%.*]]
+; CHECK-NEXT:    ret i1 [[TOBOOL]]
+;
+  %t1 = add nuw i8 %x, 35
+  %t2 = add i8 %y, 37
+  %tobool = icmp eq i8 %t2, %t1
+  ret i1 %tobool
+}


        


More information about the llvm-commits mailing list