RFR: 8309531: Incorrect result with unwrapped iotaShuffle. [v5]

Jatin Bhateja jbhateja at openjdk.org
Fri Jun 30 10:50:03 UTC 2023


On Fri, 30 Jun 2023 06:54:27 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> An alternative is moving this effective indice checking for constant values in java level. C2 compiler may optimize out it for most cases?

I wanted to just fix incorrectness issue with this PR given that we already have another JBS (JDK-8310691) for shuffle related overhaul in progress.

> May I ask why we need to fall-back to java implementation if the indices are in-effective for constant vals? While if the `start_val` and `step_val` are not all constants, for in-effective-indices, it subs to the lanecount? Is there any difference for constant and variable inputs?

Inline expander operate over byte vectors currently, this check ensures that we do not overflow the byte value range while computing effective index for unwrapped argument, otherwise subsequent comparison mask may be incorrectly.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14700#discussion_r1247727090


More information about the hotspot-compiler-dev mailing list