Skip to content

Commit db9c88c

Browse files
committed
pre-commit tests
1 parent 8d86963 commit db9c88c

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,3 +399,59 @@ define i8 @sub_const_on_lhs_negative(i8 %x) {
399399
%s = select i1 %cmp, i8 %sub, i8 50
400400
ret i8 %s
401401
}
402+
403+
define i8 @smin_ugt(i8 %x) {
404+
; CHECK-LABEL: define i8 @smin_ugt(
405+
; CHECK-SAME: i8 [[X:%.*]]) {
406+
; CHECK-NEXT: [[SMIN:%.*]] = call i8 @llvm.smin.i8(i8 [[X]], i8 50)
407+
; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[X]], 100
408+
; CHECK-NEXT: [[S:%.*]] = select i1 [[CMP]], i8 50, i8 [[SMIN]]
409+
; CHECK-NEXT: ret i8 [[S]]
410+
;
411+
%smin = call i8 @llvm.smin.i8(i8 %x, i8 50)
412+
%cmp = icmp ugt i8 %x, 100
413+
%s = select i1 %cmp, i8 50, i8 %smin
414+
ret i8 %s
415+
}
416+
417+
define i8 @smax_ugt(i8 %x) {
418+
; CHECK-LABEL: define i8 @smax_ugt(
419+
; CHECK-SAME: i8 [[X:%.*]]) {
420+
; CHECK-NEXT: [[SMAX:%.*]] = call i8 @llvm.smax.i8(i8 [[X]], i8 50)
421+
; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i8 [[X]], 100
422+
; CHECK-NEXT: [[S:%.*]] = select i1 [[CMP]], i8 100, i8 [[SMAX]]
423+
; CHECK-NEXT: ret i8 [[S]]
424+
;
425+
%smax = call i8 @llvm.smax.i8(i8 %x, i8 50)
426+
%cmp = icmp ugt i8 %x, 100
427+
%s = select i1 %cmp, i8 100, i8 %smax
428+
ret i8 %s
429+
}
430+
431+
define i8 @umin_slt(i8 %x) {
432+
; CHECK-LABEL: define i8 @umin_slt(
433+
; CHECK-SAME: i8 [[X:%.*]]) {
434+
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[X]], 0
435+
; CHECK-NEXT: [[UMIN:%.*]] = tail call i8 @llvm.umin.i8(i8 [[X]], i8 100)
436+
; CHECK-NEXT: [[S:%.*]] = select i1 [[CMP]], i8 0, i8 [[UMIN]]
437+
; CHECK-NEXT: ret i8 [[S]]
438+
;
439+
%cmp = icmp slt i8 %x, 0
440+
%umin = tail call i8 @llvm.umin.i8(i8 %x, i8 100)
441+
%s = select i1 %cmp, i8 0, i8 %umin
442+
ret i8 %s
443+
}
444+
445+
define i8 @umax_sgt(i8 %x) {
446+
; CHECK-LABEL: define i8 @umax_sgt(
447+
; CHECK-SAME: i8 [[X:%.*]]) {
448+
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[X]], 100
449+
; CHECK-NEXT: [[UMAX:%.*]] = tail call i8 @llvm.umax.i8(i8 [[X]], i8 50)
450+
; CHECK-NEXT: [[S:%.*]] = select i1 [[CMP]], i8 100, i8 [[UMAX]]
451+
; CHECK-NEXT: ret i8 [[S]]
452+
;
453+
%cmp = icmp sgt i8 %x, 100
454+
%umax = tail call i8 @llvm.umax.i8(i8 %x, i8 50)
455+
%s = select i1 %cmp, i8 100, i8 %umax
456+
ret i8 %s
457+
}

0 commit comments

Comments
 (0)