RFR: 8331558: AArch64: optimize integer remainder [v9]
Andrew Haley
aph at openjdk.org
Fri May 10 07:47:06 UTC 2024
On Fri, 10 May 2024 02:17:12 GMT, Jin Guojie <duke at openjdk.org> wrote:
>> 8331558: AArch64: optimize integer remainder
>> On some Arm processors, a separate multiply/subtract is actually faster than the combined instruction.
>>
>> 8331556: AArch64: CPU_Model support for Neoverse N1/N2/V1/V2
>> Add full platform coverage for Neoverse variants in vm_version.?pp
>>
>> The following test has passed, which shows definite performance improvement.
>>
>> make test TEST="micro:java.lang.IntegerDivMod"
>> make test TEST="micro:java.lang.LongDivMod"
>>
>> * IntegerDivMod.testDivideRemainderUnsigned
>> baseline(ns/ops) 2223
>> with this pacth(ns/ops) 1885
>> improvement(%) 17.93%
>>
>> * IntegerDivMod.testRemainderUnsigned
>> baseline(ns/ops) 2225
>> with this pacth(ns/ops) 1885
>> improvement(%) 18.03%
>>
>> * LongDivMod.testDivideRemainderUnsigned
>> baseline(ns/ops) 2231
>> with this pacth(ns/ops) 1894
>> improvement(%) 17.79%
>>
>> * LongDivMod.testRemainderUnsigned
>> baseline(ns/ops) 2232
>> with this pacth(ns/ops) 1891
>> improvement(%) 18.03%
>
> Jin Guojie has updated the pull request incrementally with two additional commits since the last revision:
>
> - Move big functions out of macroAssembler_aarch64.hpp
> - Fix is_neoverse()
>
> These macros (CPU_MODEL_NEOVERSE_N1...) are definitions of is_model, not _cpu.
OK, thanks.
-------------
Marked as reviewed by aph (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/19093#pullrequestreview-2049478289
More information about the hotspot-dev
mailing list