RFR: 8348868: AArch64: Add backend support for SelectFromTwoVector [v4]
Bhavana Kilambi
bkilambi at openjdk.org
Wed Jun 25 08:52:35 UTC 2025
On Wed, 25 Jun 2025 06:39:39 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Addressed review comments
>
> 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.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23570#discussion_r2166178111
More information about the hotspot-compiler-dev
mailing list