Skip to content

Commit c6efe12

Browse files
committed
add mixed negative test
1 parent c9ff093 commit c6efe12

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

llvm/test/Transforms/InstCombine/max-min-canonicalize.ll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,3 +341,27 @@ define i16 @umin_umax(i16 %x) {
341341
%min = call i16 @llvm.umin.i16(i16 %max, i16 255)
342342
ret i16 %min
343343
}
344+
345+
define i16 @smin_umax(i16 %x) {
346+
; CHECK-LABEL: define i16 @smin_umax(
347+
; CHECK-SAME: i16 [[X:%.*]]) {
348+
; CHECK-NEXT: [[MAX:%.*]] = call i16 @llvm.umax.i16(i16 [[X]], i16 127)
349+
; CHECK-NEXT: [[MIN:%.*]] = call i16 @llvm.smin.i16(i16 [[MAX]], i16 255)
350+
; CHECK-NEXT: ret i16 [[MIN]]
351+
;
352+
%max = call i16 @llvm.umax.i16(i16 %x, i16 127)
353+
%min = call i16 @llvm.smin.i16(i16 %max, i16 255)
354+
ret i16 %min
355+
}
356+
357+
define i16 @umin_smax(i16 %x) {
358+
; CHECK-LABEL: define i16 @umin_smax(
359+
; CHECK-SAME: i16 [[X:%.*]]) {
360+
; CHECK-NEXT: [[MAX:%.*]] = call i16 @llvm.smax.i16(i16 [[X]], i16 -128)
361+
; CHECK-NEXT: [[MIN:%.*]] = call i16 @llvm.umin.i16(i16 [[MAX]], i16 127)
362+
; CHECK-NEXT: ret i16 [[MIN]]
363+
;
364+
%max = call i16 @llvm.smax.i16(i16 %x, i16 -128)
365+
%min = call i16 @llvm.umin.i16(i16 %max, i16 127)
366+
ret i16 %min
367+
}

0 commit comments

Comments
 (0)