8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands()

Reviewed-by: kvn, jbhateja
This commit is contained in:
Pengfei Li 2023-02-20 12:08:03 +00:00
parent 98716e2b25
commit 71cf7c4409

View File

@ -551,9 +551,17 @@ void VectorNode::vector_operands(Node* n, uint* start, uint* end) {
case Op_LShiftI: case Op_LShiftL:
case Op_RShiftI: case Op_RShiftL:
case Op_URShiftI: case Op_URShiftL:
case Op_RoundDoubleMode:
*start = 1;
*end = 2; // 1 vector operand
break;
case Op_RotateLeft:
case Op_RotateRight:
// Rotate shift could have 1 or 2 vector operand(s), depending on
// whether shift distance is a supported constant or not.
*start = 1;
*end = (n->is_Con() && Matcher::supports_vector_constant_rotates(n->get_int())) ? 2 : 3;
break;
case Op_AddI: case Op_AddL: case Op_AddF: case Op_AddD:
case Op_SubI: case Op_SubL: case Op_SubF: case Op_SubD:
case Op_MulI: case Op_MulL: case Op_MulF: case Op_MulD: