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

Jatin Bhateja jbhateja at openjdk.org
Wed Aug 13 03:11:00 UTC 2025


On Tue, 12 Aug 2025 05:58:47 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.
>
> Thanks for your updating! So maybe the matcher function `supports_vector_slice_with_non_constant_index()` could also be removed totally?

Yes, idea here is just to intrinsify a perticular scenario where slice index is a constant value and not burden the inline expander with full-blown intrinsification of all possible control paths without impacting the performance.

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

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


More information about the core-libs-dev mailing list