RFR: 8331558: AArch64: optimize integer remainder [v3]

Andrew Haley aph at openjdk.org
Wed May 8 09:17:54 UTC 2024


On Wed, 8 May 2024 08:49:00 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:

>> Jin Guojie has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Applicable platforms expanded to the entire neoverse family
>>   
>>   Even on the V series (V1 and V2), both sdiv/udiv and msub instructions are executed in M0 unit (Integer multi cycle). It should benefit the V series as well.
>
> src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp line 448:
> 
>> 446:     if (VM_Version::supports_a53mac() && Ra != zr)
>> 447:       nop();
>> 448:     if (VM_Version::is_neoverse_family()) {
> 
> Thanks for changing. However, currently neoverse_family includes N1,N2,V1 and V2 for which this change is ok but eventually when support is added for next versions of N/V series which do not require splitting `msub` into `mul` and `sub` (for ex. V3) then this check will have to be modified as V3 will need to be included in the "neoverse_family". Maybe a separate function here which checks for only those N/V series where this change will benefit.

Let's not try to guess about the performance of future processors. `is_neoverse_family()` fine for now, because the performance issue affects all known Neoverse processors.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19093#discussion_r1593708588


More information about the hotspot-dev mailing list