RFR: 8351623: VectorAPI: Add SVE implementation of subword gather load operation [v6]

Emanuel Peter epeter at openjdk.org
Thu Sep 18 12:22:32 UTC 2025


On Thu, 18 Sep 2025 12:13:55 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>> 
>>  - Add more comments for IRs and added method
>>  - Merge branch 'jdk:master' into JDK-8351623-sve
>>  - Merge 'jdk:master' into JDK-8351623-sve
>>  - Address review comments
>>  - Refine IR pattern and clean backend rules
>>  - Fix indentation issue and move the helper matcher method to header files
>>  - Merge branch jdk:master into JDK-8351623-sve
>>  - 8351623: VectorAPI: Add SVE implementation of subword gather load operation
>
> src/hotspot/cpu/aarch64/matcher_aarch64.hpp line 173:
> 
>> 171:   // SVE requires vector indices for gather-load/scatter-store operations on all
>> 172:   // data types.
>> 173:   static bool gather_scatter_requires_index_in_address(BasicType bt) {
> 
> I know I agreed to this naming, but I looked at the signature of `Gather` again:
> `LoadVectorGatherNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const TypeVect* vt, Node* indices)`
> 
> I'm a little confused now what is the `address` that your name references. Is it the `adr`? I think not, because that is the base address, right? Can you clarify a little more? Maybe add to the documentation of the gather and scatter node as well, if you think that helps?

Actually, you already did add documentation to the gather / scatter nodes now. And based on your explanation there, I suggest you rename the method here to:
`gather_scatter_requires_indices_from_array`
This would say that the indices come from an array, rather than a vector register.

Your current name we had agreed on confuses me because it suggests that the index maybe already in the address `adr`, but that does not make much sense.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26236#discussion_r2358946032


More information about the hotspot-compiler-dev mailing list