RFR: 8303762: Optimize vector slice operation with constant index using VPALIGNR instruction [v2]

Jatin Bhateja jbhateja at openjdk.org
Tue Aug 12 06:01:29 UTC 2025


On Mon, 11 Aug 2025 02:47:49 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> Q1: Is it possible that just passing `origin->get_con()` to `VectorSliceNode` in case there are architectures that need it directly? Or, maybe we'd better add comment telling that the origin passed to `VectorSliceNode` is adjust to bytes.
> 

Added comments.

> Q2: If `origin` is not a constant, and there is an architecture that support the index as a variable, will the code crash here? Can we just limit the `origin` to a constant for this intrinsifaction in this PR? We can consider to extend it to variable in case any architecture has such a requirement. WDYT?

Currently, inline expander only supports constant origin. I have added a check to fail intrinsification and inline fallback using the hybrid call generator.

> Do we have specific value for `origin` like zero or vlen? If so, maybe simply Identity is better to be added as well.

Done, Thanks!, also added a new IR test to complement the code changes.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24104#discussion_r2268669566
PR Review Comment: https://git.openjdk.org/jdk/pull/24104#discussion_r2268669731


More information about the hotspot-dev mailing list