Skip to content

Commit 80e0f2a

Browse files
committed
Avoid using Vector API's UMIN and UMAX
1 parent f75a299 commit 80e0f2a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

wasm/src/org.graalvm.wasm.jdk25/src/org/graalvm/wasm/api/Vector128OpsVectorAPI.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -447,9 +447,9 @@ public ByteVector binary(ByteVector xVec, ByteVector yVec, int vectorOpcode) {
447447
case Bytecode.VECTOR_I8X16_SUB_SAT_S -> binop_sat(x, y, I8X16, I16X8, VectorOperators.B2S, VectorOperators.SUB, Byte.MIN_VALUE, Byte.MAX_VALUE); // GR-68891
448448
case Bytecode.VECTOR_I8X16_SUB_SAT_U -> binop_sat(x, y, I8X16, I16X8, VectorOperators.ZERO_EXTEND_B2S, VectorOperators.SUB, 0, 0xff); // GR-68891
449449
case Bytecode.VECTOR_I8X16_MIN_S -> binop(x, y, I8X16, VectorOperators.MIN);
450-
case Bytecode.VECTOR_I8X16_MIN_U -> binop(x, y, I8X16, VectorOperators.UMIN);
450+
case Bytecode.VECTOR_I8X16_MIN_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
451451
case Bytecode.VECTOR_I8X16_MAX_S -> binop(x, y, I8X16, VectorOperators.MAX);
452-
case Bytecode.VECTOR_I8X16_MAX_U -> binop(x, y, I8X16, VectorOperators.UMAX);
452+
case Bytecode.VECTOR_I8X16_MAX_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
453453
case Bytecode.VECTOR_I8X16_AVGR_U -> avgr_u(x, y, I8X16, I16X8, VectorOperators.ZERO_EXTEND_B2S);
454454
case Bytecode.VECTOR_I16X8_NARROW_I32X4_S -> narrow(x, y, I32X4, I16X8, Short.MIN_VALUE, Short.MAX_VALUE);
455455
case Bytecode.VECTOR_I16X8_NARROW_I32X4_U -> narrow(x, y, I32X4, I16X8, 0, 0xffff);
@@ -462,9 +462,9 @@ public ByteVector binary(ByteVector xVec, ByteVector yVec, int vectorOpcode) {
462462
case Bytecode.VECTOR_I16X8_SUB_SAT_U -> binop_sat(x, y, I16X8, I32X4, VectorOperators.ZERO_EXTEND_S2I, VectorOperators.SUB, 0, 0xffff); // GR-68891
463463
case Bytecode.VECTOR_I16X8_MUL -> binop(x, y, I16X8, VectorOperators.MUL);
464464
case Bytecode.VECTOR_I16X8_MIN_S -> binop(x, y, I16X8, VectorOperators.MIN);
465-
case Bytecode.VECTOR_I16X8_MIN_U -> binop(x, y, I16X8, VectorOperators.UMIN);
465+
case Bytecode.VECTOR_I16X8_MIN_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
466466
case Bytecode.VECTOR_I16X8_MAX_S -> binop(x, y, I16X8, VectorOperators.MAX);
467-
case Bytecode.VECTOR_I16X8_MAX_U -> binop(x, y, I16X8, VectorOperators.UMAX);
467+
case Bytecode.VECTOR_I16X8_MAX_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
468468
case Bytecode.VECTOR_I16X8_AVGR_U -> avgr_u(x, y, I16X8, I32X4, VectorOperators.ZERO_EXTEND_S2I);
469469
case Bytecode.VECTOR_I16X8_EXTMUL_LOW_I8X16_S -> extmul(x, y, I8X16, VectorOperators.B2S, 0);
470470
case Bytecode.VECTOR_I16X8_EXTMUL_LOW_I8X16_U -> extmul(x, y, I8X16, VectorOperators.ZERO_EXTEND_B2S, 0);
@@ -474,9 +474,9 @@ public ByteVector binary(ByteVector xVec, ByteVector yVec, int vectorOpcode) {
474474
case Bytecode.VECTOR_I32X4_SUB -> binop(x, y, I32X4, VectorOperators.SUB);
475475
case Bytecode.VECTOR_I32X4_MUL -> binop(x, y, I32X4, VectorOperators.MUL);
476476
case Bytecode.VECTOR_I32X4_MIN_S -> binop(x, y, I32X4, VectorOperators.MIN);
477-
case Bytecode.VECTOR_I32X4_MIN_U -> binop(x, y, I32X4, VectorOperators.UMIN);
477+
case Bytecode.VECTOR_I32X4_MIN_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
478478
case Bytecode.VECTOR_I32X4_MAX_S -> binop(x, y, I32X4, VectorOperators.MAX);
479-
case Bytecode.VECTOR_I32X4_MAX_U -> binop(x, y, I32X4, VectorOperators.UMAX);
479+
case Bytecode.VECTOR_I32X4_MAX_U -> fromArray(fallbackOps.binary(x.toArray(), y.toArray(), vectorOpcode)); // GR-68891
480480
case Bytecode.VECTOR_I32X4_DOT_I16X8_S -> i32x4_dot_i16x8_s(x, y);
481481
case Bytecode.VECTOR_I32X4_EXTMUL_LOW_I16X8_S -> extmul(x, y, I16X8, VectorOperators.S2I, 0);
482482
case Bytecode.VECTOR_I32X4_EXTMUL_LOW_I16X8_U -> extmul(x, y, I16X8, VectorOperators.ZERO_EXTEND_S2I, 0);

0 commit comments

Comments
 (0)