RFR: 8348868: AArch64: Add backend support for SelectFromTwoVector [v4]
Bhavana Kilambi
bkilambi at openjdk.org
Thu Jun 26 08:27:54 UTC 2025
On Wed, 25 Jun 2025 08:49:26 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp line 2887:
>>
>>> 2885: // Generate Neon tbl when UseSVE == 0 or UseSVE == 1 with vector length of 16B
>>> 2886:
>>> 2887: bool useNeon = (UseSVE == 0) || (UseSVE == 1 && isQ);
>>
>> The function name is `select_from_two_vectors_HS_Neon`, but we still have to check whether to use NEON inside it. It looks confusing. Is it better to split the special `!isQ && UseSVE >=1` cases and combine it to below `select_from_two_vectors` method?
>>
>> Combining `!isQ` to the sve rule may also make the rule's predicate simpler?
>
> Thanks, I can do that. Earlier I was trying to keep in line with VectorRearrange which had similar name and if I remember correctly had both Neon and SVE implementation in the one named as "Neon" (before you optimized it recently) and I continued keeping the same format. I agree, this can be simplified further.
Done
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23570#discussion_r2168495661
More information about the hotspot-compiler-dev
mailing list