Skip to content

Commit 7c1d8c7

Browse files
committed
[ValueTracking] Add test for non-zero sub via known non equal (NFC)
1 parent a4deb14 commit 7c1d8c7

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

llvm/test/Analysis/ValueTracking/known-non-zero.ll

+16
Original file line numberDiff line numberDiff line change
@@ -1218,3 +1218,19 @@ define <2 x i1> @cmp_excludes_zero_with_nonsplat_vec_fail(<2 x i8> %a, <2 x i8>
12181218
ret <2 x i1> %r
12191219
}
12201220

1221+
define i1 @sub_via_non_eq(i8 %x, i8 %y) {
1222+
; CHECK-LABEL: @sub_via_non_eq(
1223+
; CHECK-NEXT: [[NE:%.*]] = icmp ne i8 [[X:%.*]], 0
1224+
; CHECK-NEXT: call void @llvm.assume(i1 [[NE]])
1225+
; CHECK-NEXT: [[SHL:%.*]] = shl nuw i8 [[X]], 3
1226+
; CHECK-NEXT: [[SUB:%.*]] = sub i8 [[X]], [[SHL]]
1227+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i8 [[SUB]], 0
1228+
; CHECK-NEXT: ret i1 [[CMP]]
1229+
;
1230+
%ne = icmp ne i8 %x, 0
1231+
call void @llvm.assume(i1 %ne)
1232+
%shl = shl nuw i8 %x, 3
1233+
%sub = sub i8 %x, %shl
1234+
%cmp = icmp eq i8 %sub, 0
1235+
ret i1 %cmp
1236+
}

0 commit comments

Comments
 (0)