@@ -295,3 +295,51 @@ func.func @truncf_vector_f32(%arg0 : vector<4xf32>) -> vector<4xbf16> {
295295
296296// CHECK-LABEL: @truncf_vector_f32
297297// CHECK-NOT: arith.truncf
298+
299+ // -----
300+
301+ func.func @maxsi (%a: i32 , %b: i32 ) -> i32 {
302+ %result = arith.maxsi %a , %b : i32
303+ return %result : i32
304+ }
305+ // CHECK-LABEL: func @maxsi
306+ // CHECK-SAME: %[[LHS:.*]]: i32, %[[RHS:.*]]: i32
307+ // CHECK-NEXT: %[[CMP:.*]] = arith.cmpi sgt, %[[LHS]], %[[RHS]] : i32
308+ // CHECK-NEXT: %[[RESULT:.*]] = arith.select %[[CMP]], %[[LHS]], %[[RHS]] : i32
309+ // CHECK-NEXT: return %[[RESULT]] : i32
310+
311+ // -----
312+
313+ func.func @minsi (%a: i32 , %b: i32 ) -> i32 {
314+ %result = arith.minsi %a , %b : i32
315+ return %result : i32
316+ }
317+ // CHECK-LABEL: func @minsi
318+ // CHECK-SAME: %[[LHS:.*]]: i32, %[[RHS:.*]]: i32
319+ // CHECK-NEXT: %[[CMP:.*]] = arith.cmpi slt, %[[LHS]], %[[RHS]] : i32
320+ // CHECK-NEXT: %[[RESULT:.*]] = arith.select %[[CMP]], %[[LHS]], %[[RHS]] : i32
321+ // CHECK-NEXT: return %[[RESULT]] : i32
322+
323+ // -----
324+
325+ func.func @maxui (%a: i32 , %b: i32 ) -> i32 {
326+ %result = arith.maxui %a , %b : i32
327+ return %result : i32
328+ }
329+ // CHECK-LABEL: func @maxui
330+ // CHECK-SAME: %[[LHS:.*]]: i32, %[[RHS:.*]]: i32
331+ // CHECK-NEXT: %[[CMP:.*]] = arith.cmpi ugt, %[[LHS]], %[[RHS]] : i32
332+ // CHECK-NEXT: %[[RESULT:.*]] = arith.select %[[CMP]], %[[LHS]], %[[RHS]] : i32
333+ // CHECK-NEXT: return %[[RESULT]] : i32
334+
335+ // -----
336+
337+ func.func @minui (%a: i32 , %b: i32 ) -> i32 {
338+ %result = arith.minui %a , %b : i32
339+ return %result : i32
340+ }
341+ // CHECK-LABEL: func @minui
342+ // CHECK-SAME: %[[LHS:.*]]: i32, %[[RHS:.*]]: i32
343+ // CHECK-NEXT: %[[CMP:.*]] = arith.cmpi ult, %[[LHS]], %[[RHS]] : i32
344+ // CHECK-NEXT: %[[RESULT:.*]] = arith.select %[[CMP]], %[[LHS]], %[[RHS]] : i32
345+ // CHECK-NEXT: return %[[RESULT]] : i32
0 commit comments