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

Vladimir Kozlov kvn at openjdk.org
Thu Feb 16 18:05:30 UTC 2023


On Thu, 16 Feb 2023 08:22:20 GMT, Pengfei Li <pli at openjdk.org> wrote:

> This is a one-line fix.
> 
> `VectorNode::vector_operands()` is a C2 function used to get a half-open range of `[start, end)` defining which operands are vectors to process. `Op_RoundDoubleMode` has two operands but only the 1st one is a vector. Its 2nd operand is the rounding mode. Missing this op results in its 2nd operand treated as a vector. It is fortunate that it hasn't caused any issue yet as the code follows just treated the 2nd input as an immediate to replicate later. If we add some check like `n->is_Vector()` for the vectorized node then, there will be issues. We should fix this potential problem.
> 
> Tested tier1.

Looks good to me.

@jatin-bhateja, as author of this code, please look.

-------------

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.org/jdk/pull/12584


More information about the hotspot-compiler-dev mailing list