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