Skip to content

Commit 9007445

Browse files
Add Commuted Test
1 parent 5fd5aa3 commit 9007445

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

llvm/test/Transforms/InstSimplify/icmp-monotonic.ll

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,21 @@ define i1 @mul_nuw_nonzero_rhs_monotonic(i8 %x, i8 %c) {
232232
ret i1 %cmp
233233
}
234234

235+
define i1 @mul_nuw_nonzero_rhs_commuted_monotonic(i8 %x, i8 %c) {
236+
; CHECK-LABEL: define i1 @mul_nuw_nonzero_rhs_commuted_monotonic(
237+
; CHECK-SAME: i8 [[X:%.*]], i8 [[C:%.*]]) {
238+
; CHECK-NEXT: [[C_NONZERO:%.*]] = icmp ne i8 [[C]], 0
239+
; CHECK-NEXT: call void @llvm.assume(i1 [[C_NONZERO]])
240+
; CHECK-NEXT: ret i1 true
241+
;
242+
%c_nonzero = icmp ne i8 %c, 0
243+
call void @llvm.assume(i1 %c_nonzero)
244+
245+
%prod = mul nuw i8 %c, %x
246+
%cmp = icmp uge i8 %prod, %x
247+
ret i1 %cmp
248+
}
249+
235250
define i1 @mul_nuw_nonzero_rhs_monotonic_inverse_predicate(i8 %x, i8 %c) {
236251
; CHECK-LABEL: define i1 @mul_nuw_nonzero_rhs_monotonic_inverse_predicate(
237252
; CHECK-SAME: i8 [[X:%.*]], i8 [[C:%.*]]) {

0 commit comments

Comments
 (0)