@@ -441,11 +441,11 @@ public ByteVector binary(ByteVector xVec, ByteVector yVec, int vectorOpcode) {
441
441
case Bytecode .VECTOR_I8X16_NARROW_I16X8_S -> narrow (x , y , I16X8 , I8X16 , Byte .MIN_VALUE , Byte .MAX_VALUE );
442
442
case Bytecode .VECTOR_I8X16_NARROW_I16X8_U -> narrow (x , y , I16X8 , I8X16 , (short ) 0 , (short ) 0xff );
443
443
case Bytecode .VECTOR_I8X16_ADD -> binop (x , y , I8X16 , VectorOperators .ADD );
444
- case Bytecode .VECTOR_I8X16_ADD_SAT_S -> binop (x , y , I8X16 , VectorOperators .SADD );
445
- case Bytecode .VECTOR_I8X16_ADD_SAT_U -> binop_sat_u (x , y , I8X16 , I16X8 , VectorOperators .ZERO_EXTEND_B2S , VectorOperators .ADD , 0 , 0xff );
444
+ case Bytecode .VECTOR_I8X16_ADD_SAT_S -> binop_sat (x , y , I8X16 , I16X8 , VectorOperators .B2S , VectorOperators . ADD , Byte . MIN_VALUE , Byte . MAX_VALUE ); // GR-68891
445
+ case Bytecode .VECTOR_I8X16_ADD_SAT_U -> binop_sat (x , y , I8X16 , I16X8 , VectorOperators .ZERO_EXTEND_B2S , VectorOperators .ADD , 0 , 0xff ); // GR-68891
446
446
case Bytecode .VECTOR_I8X16_SUB -> binop (x , y , I8X16 , VectorOperators .SUB );
447
- case Bytecode .VECTOR_I8X16_SUB_SAT_S -> binop (x , y , I8X16 , VectorOperators .SSUB );
448
- case Bytecode .VECTOR_I8X16_SUB_SAT_U -> binop_sat_u (x , y , I8X16 , I16X8 , VectorOperators .ZERO_EXTEND_B2S , VectorOperators .SUB , 0 , 0xff );
447
+ 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
448
+ case Bytecode .VECTOR_I8X16_SUB_SAT_U -> binop_sat (x , y , I8X16 , I16X8 , VectorOperators .ZERO_EXTEND_B2S , VectorOperators .SUB , 0 , 0xff ); // GR-68891
449
449
case Bytecode .VECTOR_I8X16_MIN_S -> binop (x , y , I8X16 , VectorOperators .MIN );
450
450
case Bytecode .VECTOR_I8X16_MIN_U -> binop (x , y , I8X16 , VectorOperators .UMIN );
451
451
case Bytecode .VECTOR_I8X16_MAX_S -> binop (x , y , I8X16 , VectorOperators .MAX );
@@ -455,11 +455,11 @@ public ByteVector binary(ByteVector xVec, ByteVector yVec, int vectorOpcode) {
455
455
case Bytecode .VECTOR_I16X8_NARROW_I32X4_U -> narrow (x , y , I32X4 , I16X8 , 0 , 0xffff );
456
456
case Bytecode .VECTOR_I16X8_Q15MULR_SAT_S , Bytecode .VECTOR_I16X8_RELAXED_Q15MULR_S -> i16x8_q15mulr_sat_s (x , y );
457
457
case Bytecode .VECTOR_I16X8_ADD -> binop (x , y , I16X8 , VectorOperators .ADD );
458
- case Bytecode .VECTOR_I16X8_ADD_SAT_S -> binop (x , y , I16X8 , VectorOperators .SADD );
459
- case Bytecode .VECTOR_I16X8_ADD_SAT_U -> binop_sat_u (x , y , I16X8 , I32X4 , VectorOperators .ZERO_EXTEND_S2I , VectorOperators .ADD , 0 , 0xffff );
458
+ case Bytecode .VECTOR_I16X8_ADD_SAT_S -> binop_sat (x , y , I16X8 , I32X4 , VectorOperators .S2I , VectorOperators . ADD , Short . MIN_VALUE , Short . MAX_VALUE ); // GR-68891
459
+ case Bytecode .VECTOR_I16X8_ADD_SAT_U -> binop_sat (x , y , I16X8 , I32X4 , VectorOperators .ZERO_EXTEND_S2I , VectorOperators .ADD , 0 , 0xffff ); // GR-68891
460
460
case Bytecode .VECTOR_I16X8_SUB -> binop (x , y , I16X8 , VectorOperators .SUB );
461
- case Bytecode .VECTOR_I16X8_SUB_SAT_S -> binop (x , y , I16X8 , VectorOperators .SSUB );
462
- case Bytecode .VECTOR_I16X8_SUB_SAT_U -> binop_sat_u (x , y , I16X8 , I32X4 , VectorOperators .ZERO_EXTEND_S2I , VectorOperators .SUB , 0 , 0xffff );
461
+ case Bytecode .VECTOR_I16X8_SUB_SAT_S -> binop_sat (x , y , I16X8 , I32X4 , VectorOperators .S2I , VectorOperators . SUB , Short . MIN_VALUE , Short . MAX_VALUE ); // GR-68891
462
+ case Bytecode .VECTOR_I16X8_SUB_SAT_U -> binop_sat (x , y , I16X8 , I32X4 , VectorOperators .ZERO_EXTEND_S2I , VectorOperators .SUB , 0 , 0xffff ); // GR-68891
463
463
case Bytecode .VECTOR_I16X8_MUL -> binop (x , y , I16X8 , VectorOperators .MUL );
464
464
case Bytecode .VECTOR_I16X8_MIN_S -> binop (x , y , I16X8 , VectorOperators .MIN );
465
465
case Bytecode .VECTOR_I16X8_MIN_U -> binop (x , y , I16X8 , VectorOperators .UMIN );
@@ -1020,7 +1020,7 @@ private static <E, F> ByteVector narrow(ByteVector xBytes, ByteVector yBytes, Sh
1020
1020
return result .reinterpretAsBytes ();
1021
1021
}
1022
1022
1023
- private static <E , F > ByteVector binop_sat_u (ByteVector xBytes , ByteVector yBytes ,
1023
+ private static <E , F > ByteVector binop_sat (ByteVector xBytes , ByteVector yBytes ,
1024
1024
Shape <E > shape , Shape <F > extendedShape ,
1025
1025
VectorOperators .Conversion <E , F > upcast ,
1026
1026
VectorOperators .Binary op , long min , long max ) {
0 commit comments