RFR: 8348868: AArch64: Add backend support for SelectFromTwoVector [v3]
Bhavana Kilambi
bkilambi at openjdk.org
Wed Jun 18 09:02:59 UTC 2025
On Wed, 18 Jun 2025 08:51:47 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>>> Yes, it would be incorrect. I tried to use SVE2 tbl instruction for 64-bit on a 128-bit machine and the results are incorrect. But we currently do not have an SVE2 machine with 256-bit to test our implementation on.
>>
>> It maybe possible in future, right? We can just use the 64bits and 128bits as an example to do the test.
>>
>>> No, the index should contain values according to the vector length being used. I could see that for 64-bit Byte, it generates numbers between 0-15 and not 0-31 (for vector length of 128)
>>
>> The valid index for a 64-bit byte should be 0-8, right? From the API level of `SelectFromTwoVector`, it seems the values inside of the `index` vector is in range of VLEN or 2 * VLEN ?
>
> Or, maybe we can just disable/unsupport the cases for this op that the vector size is smaller than the max vector size and the max vector size >128-bits. And keep the 64bits as it is. We should add comment and revisit this part once 256bits SVE2 machine is supported in future. WDYT?
> The valid index for a 64-bit byte should be 0-8, right? From the API level of SelectFromTwoVector, it seems the values inside of the index vector is in range of VLEN or 2 * VLEN ?
Yes, 0-7 for 64-bit Byte but this op is selecting from two vectors so the index should contain values in the range of [0, 2 * VLEN)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23570#discussion_r2154048486
More information about the hotspot-compiler-dev
mailing list