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