[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