Skip to content

Commit

Permalink
[instcombine] Precommit tests for umin(a,b) ne/eq 0 fold
Browse files Browse the repository at this point in the history
  • Loading branch information
preames committed Jun 30, 2021
1 parent 9474ddc commit 0c2f40f
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Expand Up @@ -858,3 +858,49 @@ define <3 x i8> @umin_non_zero_idiom4(<3 x i8> %a) {
%res = call <3 x i8> @llvm.umin.v3i8(<3 x i8> %a, <3 x i8> <i8 1, i8 undef, i8 undef>)
ret <3 x i8> %res
}

define i1 @umin_eq_zero(i8 %a, i8 %b) {
; CHECK-LABEL: @umin_eq_zero(
; CHECK-NEXT: [[UMIN:%.*]] = call i8 @llvm.umin.i8(i8 [[A:%.*]], i8 [[B:%.*]])
; CHECK-NEXT: [[RES:%.*]] = icmp eq i8 [[UMIN]], 0
; CHECK-NEXT: ret i1 [[RES]]
;
%umin = call i8 @llvm.umin.i8(i8 %a, i8 %b)
%res = icmp eq i8 %umin, 0
ret i1 %res
}

define <3 x i1> @umin_eq_zero2(<3 x i8> %a, <3 x i8> %b) {
; CHECK-LABEL: @umin_eq_zero2(
; CHECK-NEXT: [[UMIN:%.*]] = call <3 x i8> @llvm.umin.v3i8(<3 x i8> [[A:%.*]], <3 x i8> [[B:%.*]])
; CHECK-NEXT: [[RES:%.*]] = icmp eq <3 x i8> [[UMIN]], zeroinitializer
; CHECK-NEXT: ret <3 x i1> [[RES]]
;

%umin = call <3 x i8> @llvm.umin.v3i8(<3 x i8> %a, <3 x i8> %b)
%res = icmp eq <3 x i8> %umin, zeroinitializer
ret <3 x i1> %res
}

define i1 @umin_ne_zero(i8 %a, i8 %b) {
; CHECK-LABEL: @umin_ne_zero(
; CHECK-NEXT: [[UMIN:%.*]] = call i8 @llvm.umin.i8(i8 [[A:%.*]], i8 [[B:%.*]])
; CHECK-NEXT: [[RES:%.*]] = icmp ne i8 [[UMIN]], 0
; CHECK-NEXT: ret i1 [[RES]]
;
%umin = call i8 @llvm.umin.i8(i8 %a, i8 %b)
%res = icmp ne i8 %umin, 0
ret i1 %res
}

define <3 x i1> @umin_ne_zero2(<3 x i8> %a, <3 x i8> %b) {
; CHECK-LABEL: @umin_ne_zero2(
; CHECK-NEXT: [[UMIN:%.*]] = call <3 x i8> @llvm.umin.v3i8(<3 x i8> [[A:%.*]], <3 x i8> [[B:%.*]])
; CHECK-NEXT: [[RES:%.*]] = icmp ne <3 x i8> [[UMIN]], zeroinitializer
; CHECK-NEXT: ret <3 x i1> [[RES]]
;

%umin = call <3 x i8> @llvm.umin.v3i8(<3 x i8> %a, <3 x i8> %b)
%res = icmp ne <3 x i8> %umin, zeroinitializer
ret <3 x i1> %res
}

0 comments on commit 0c2f40f

Please sign in to comment.