On Tue, 10 Dec 2024 07:54:55 GMT, Jatin Bhateja <[email protected]> wrote:
>> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java
>> line 822:
>>
>>> 820: static final Class<Byte> ETYPE = byte.class; // used by the JVM
>>> 821:
>>> 822: Byte128Shuffle(byte[] indices) {
>>
>> We still cannot accommodate all the indexes for the 2048 bit scalable vector
>> for ARM SVE. Max index accommodable is 127 since byte is a signed type with
>> value range b/w [-128 , 127].
>
> This is a limitation and not a blocker for this re-factor.
A byte is just a bunch of bits, the signness of the value depends on how it is
used. As a result, I believe there is nothing preventing us from treating this
index as unsigned for 2048-bit SVE (with some modifications such as the Java
implementation being `int ei =
Integer.remainderUnsigned(Byte.toUnsignedInt(s_.laneSource(i)), v1.length())`).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21042#discussion_r1877545203