diff --git a/src/hotspot/cpu/riscv/riscv_v.ad b/src/hotspot/cpu/riscv/riscv_v.ad index 81c14460b051d..63d4607f1c1d3 100644 --- a/src/hotspot/cpu/riscv/riscv_v.ad +++ b/src/hotspot/cpu/riscv/riscv_v.ad @@ -1409,6 +1409,66 @@ instruct vmin_masked(vReg dst_src1, vReg src2, vRegMask_V0 v0) %{ ins_pipe(pipe_slow); %} +// vector unsigned integer max/min + +instruct vmaxu(vReg dst, vReg src1, vReg src2) %{ + match(Set dst (UMaxV src1 src2)); + ins_cost(VEC_COST); + format %{ "vmaxu $dst, $src1, $src2" %} + ins_encode %{ + BasicType bt = Matcher::vector_element_basic_type(this); + assert(is_integral_type(bt), "unsupported type"); + __ vsetvli_helper(bt, Matcher::vector_length(this)); + __ vmaxu_vv(as_VectorRegister($dst$$reg), + as_VectorRegister($src1$$reg), as_VectorRegister($src2$$reg)); + %} + ins_pipe(pipe_slow); +%} + +instruct vminu(vReg dst, vReg src1, vReg src2) %{ + match(Set dst (UMinV src1 src2)); + ins_cost(VEC_COST); + format %{ "vminu $dst, $src1, $src2" %} + ins_encode %{ + BasicType bt = Matcher::vector_element_basic_type(this); + assert(is_integral_type(bt), "unsupported type"); + __ vsetvli_helper(bt, Matcher::vector_length(this)); + __ vminu_vv(as_VectorRegister($dst$$reg), + as_VectorRegister($src1$$reg), as_VectorRegister($src2$$reg)); + %} + ins_pipe(pipe_slow); +%} + +// vector unsigned integer max/min - predicated + +instruct vmaxu_masked(vReg dst_src1, vReg src2, vRegMask_V0 v0) %{ + match(Set dst_src1 (UMaxV (Binary dst_src1 src2) v0)); + ins_cost(VEC_COST); + format %{ "vmaxu_masked $dst_src1, $dst_src1, $src2, $v0" %} + ins_encode %{ + BasicType bt = Matcher::vector_element_basic_type(this); + assert(is_integral_type(bt), "unsupported type"); + __ vsetvli_helper(bt, Matcher::vector_length(this)); + __ vmaxu_vv(as_VectorRegister($dst_src1$$reg), as_VectorRegister($dst_src1$$reg), + as_VectorRegister($src2$$reg), Assembler::v0_t); + %} + ins_pipe(pipe_slow); +%} + +instruct vminu_masked(vReg dst_src1, vReg src2, vRegMask_V0 v0) %{ + match(Set dst_src1 (UMinV (Binary dst_src1 src2) v0)); + ins_cost(VEC_COST); + format %{ "vminu_masked $dst_src1, $dst_src1, $src2, $v0" %} + ins_encode %{ + BasicType bt = Matcher::vector_element_basic_type(this); + assert(is_integral_type(bt), "unsupported type"); + __ vsetvli_helper(bt, Matcher::vector_length(this)); + __ vminu_vv(as_VectorRegister($dst_src1$$reg), as_VectorRegister($dst_src1$$reg), + as_VectorRegister($src2$$reg), Assembler::v0_t); + %} + ins_pipe(pipe_slow); +%} + // vector float-point max/min instruct vmax_fp(vReg dst, vReg src1, vReg src2, vRegMask_V0 v0) %{ diff --git a/test/hotspot/jtreg/compiler/vectorapi/VectorCommutativeOperSharingTest.java b/test/hotspot/jtreg/compiler/vectorapi/VectorCommutativeOperSharingTest.java index 73718193109ab..c3e0cbc3a9af5 100644 --- a/test/hotspot/jtreg/compiler/vectorapi/VectorCommutativeOperSharingTest.java +++ b/test/hotspot/jtreg/compiler/vectorapi/VectorCommutativeOperSharingTest.java @@ -76,7 +76,7 @@ public static void main(String[] args) { IRNode.MUL_VI, IRNode.VECTOR_SIZE_ANY, " 2 ", IRNode.MAX_VI, IRNode.VECTOR_SIZE_ANY, " 2 ", IRNode.MIN_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, - applyIfCPUFeature = {"avx", "true"}) + applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing1(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -115,7 +115,7 @@ public void checkVectorIRSharing1() { @IR(counts = {IRNode.XOR_VI, IRNode.VECTOR_SIZE_ANY, " 0 ", IRNode.OR_VI, IRNode.VECTOR_SIZE_ANY, " 1 ", IRNode.AND_VI, IRNode.VECTOR_SIZE_ANY, " 1 "}, - applyIfCPUFeature = {"avx", "true"}) + applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing2(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -172,7 +172,7 @@ public void checkVectorIRSharing3() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing4(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -197,7 +197,7 @@ public void checkVectorIRSharing4() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing5(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -222,7 +222,7 @@ public void checkVectorIRSharing5() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing6(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -247,7 +247,7 @@ public void checkVectorIRSharing6() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing7(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -272,7 +272,7 @@ public void checkVectorIRSharing7() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing8(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -297,7 +297,7 @@ public void checkVectorIRSharing8() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing9(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -322,7 +322,7 @@ public void checkVectorIRSharing9() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing10(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -347,7 +347,7 @@ public void checkVectorIRSharing10() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing11(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -372,7 +372,7 @@ public void checkVectorIRSharing11() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing12(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -397,7 +397,7 @@ public void checkVectorIRSharing12() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing13(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -422,7 +422,7 @@ public void checkVectorIRSharing13() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 2 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing14(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -447,7 +447,7 @@ public void checkVectorIRSharing14() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing15(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -472,7 +472,7 @@ public void checkVectorIRSharing15() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing16(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -497,7 +497,7 @@ public void checkVectorIRSharing16() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing17(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -522,7 +522,7 @@ public void checkVectorIRSharing17() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing18(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -547,7 +547,7 @@ public void checkVectorIRSharing18() { } @Test - @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx512vl", "true", "sve", "true"}) + @IR(counts = {IRNode.ADD_VI, IRNode.VECTOR_SIZE_ANY, " 3 "}, applyIfCPUFeatureOr = {"avx512vl", "true", "sve", "true", "rvv", "true"}) public void testVectorIRSharing19(int index) { VectorMask VMASK = VectorMask.fromLong(I_SPECIES, ((1 << 4) - 1)); IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); @@ -575,7 +575,7 @@ public void checkVectorIRSharing19() { } @Test - @IR(counts = {IRNode.UMAX_VI, IRNode.VECTOR_SIZE_ANY, " 1 "}, applyIfCPUFeatureOr = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VI, IRNode.VECTOR_SIZE_ANY, " 1 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing20(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); @@ -600,7 +600,7 @@ public void checkVectorIRSharing20() { } @Test - @IR(counts = {IRNode.UMIN_VI, IRNode.VECTOR_SIZE_ANY, " 1 "}, applyIfCPUFeatureOr = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, IRNode.VECTOR_SIZE_ANY, " 1 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) public void testVectorIRSharing21(int index) { IntVector vec1 = IntVector.fromArray(I_SPECIES, ia, index); IntVector vec2 = IntVector.fromArray(I_SPECIES, ib, index); diff --git a/test/hotspot/jtreg/compiler/vectorapi/VectorUnsignedMinMaxOperationsTest.java b/test/hotspot/jtreg/compiler/vectorapi/VectorUnsignedMinMaxOperationsTest.java index d94d65c5143f5..464e887cbace0 100644 --- a/test/hotspot/jtreg/compiler/vectorapi/VectorUnsignedMinMaxOperationsTest.java +++ b/test/hotspot/jtreg/compiler/vectorapi/VectorUnsignedMinMaxOperationsTest.java @@ -105,7 +105,7 @@ public VectorUnsignedMinMaxOperationsTest() { } @Test - @IR(counts = {IRNode.UMAX_VB, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VB, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umax_byte() { for (int i = 0; i < COUNT; i += bspec.length()) { @@ -128,7 +128,7 @@ public void umax_byte_verify() { } @Test - @IR(counts = {IRNode.UMAX_VS, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VS, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umax_short() { for (int i = 0; i < COUNT; i += sspec.length()) { @@ -151,7 +151,7 @@ public void umax_short_verify() { } @Test - @IR(counts = {IRNode.UMAX_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umax_int() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -174,7 +174,7 @@ public void umax_int_verify() { } @Test - @IR(counts = {IRNode.UMAX_VL, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VL, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umax_long() { for (int i = 0; i < COUNT; i += lspec.length()) { @@ -197,7 +197,7 @@ public void umax_long_verify() { } @Test - @IR(counts = {IRNode.UMIN_VB, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VB, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_byte() { for (int i = 0; i < COUNT; i += bspec.length()) { @@ -220,7 +220,7 @@ public void umin_byte_verify() { } @Test - @IR(counts = {IRNode.UMIN_VS, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VS, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_short() { for (int i = 0; i < COUNT; i += sspec.length()) { @@ -243,7 +243,7 @@ public void umin_short_verify() { } @Test - @IR(counts = {IRNode.UMIN_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_int() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -266,7 +266,7 @@ public void umin_int_verify() { } @Test - @IR(counts = {IRNode.UMIN_VL, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VL, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_long() { for (int i = 0; i < COUNT; i += lspec.length()) { @@ -289,7 +289,7 @@ public void umin_long_verify() { } @Test - @IR(counts = {IRNode.UMIN_VI, " 0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, " 0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_ir_transform1() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -312,7 +312,7 @@ public void umin_ir_transform1_verify() { } @Test - @IR(counts = {IRNode.UMAX_VI, " 0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VI, " 0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umax_ir_transform1() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -335,7 +335,7 @@ public void umax_ir_transform1_verify() { } @Test - @IR(counts = {IRNode.UMAX_VI, " 0 ", IRNode.UMIN_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VI, " 0 ", IRNode.UMIN_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_max_ir_transform1() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -362,7 +362,7 @@ public void umin_max_ir_transform1_verify() { } @Test - @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_max_ir_transform2() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -389,7 +389,7 @@ public void umin_max_ir_transform2_verify() { } @Test - @IR(counts = {IRNode.UMAX_VI, " 0 ", IRNode.UMIN_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMAX_VI, " 0 ", IRNode.UMIN_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_max_ir_transform3() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -416,7 +416,7 @@ public void umin_max_ir_transform3_verify() { } @Test - @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_max_ir_transform4() { for (int i = 0; i < COUNT; i += ispec.length()) { @@ -443,7 +443,7 @@ public void umin_max_ir_transform4_verify() { } @Test - @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeature = {"avx", "true"}) + @IR(counts = {IRNode.UMIN_VI, " 0 ", IRNode.UMAX_VI, " >0 "}, applyIfCPUFeatureOr = {"avx", "true", "rvv", "true"}) @Warmup(value = 10000) public void umin_max_ir_transform5() { for (int i = 0; i < COUNT; i += ispec.length()) {