File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff 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+ }
You can’t perform that action at this time.
0 commit comments