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

Xiaohong Gong xgong at openjdk.org
Mon Sep 8 03:15:22 UTC 2025


On Fri, 5 Sep 2025 10:44:28 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.hpp line 1841:
>> 
>>> 1839: 
>>> 1840: // Unpack the elements to twice size.
>>> 1841: class VectorMaskWidenNode : public VectorNode {
>> 
>> Can you add a visual example like above for `VectorConcatenateNode`, please?
>
> Did you consider the alternative of `Extract` + `Cast`? Not sure if that would be better, you know more about the code complexity. It would just allow us to have one fewer nodes.

It just has the `Extract` node to extract an element from vector in C2, right? Extracting the lowest part can be implemented with `VectorReinterpret` easily. But how about the higher parts? Maybe this can also be implemented with operations like `slice` ? But, seems this will also make the IR more complex? For `Cast`, we have `VectorCastMask` now, but it assumes the vector length should be the same for input and output. So the `VectorReinterpret` or an `VectorExtract` is sill needed. 

I can have a try with separating the IR. But I guess an additional new node is still necessary. 

> It would just allow us to have one fewer nodes.

This is also what I expect really.

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

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


More information about the hotspot-compiler-dev mailing list