RFR: 8350483: AArch64: turn on signum intrinsics by default on Ampere CPUs
Andrew Haley
aph at openjdk.org
Mon Feb 24 12:54:53 UTC 2025
On Sat, 22 Feb 2025 15:27:41 GMT, Patrick Zhang <qpzhang at openjdk.org> wrote:
> Set -XX:+UseSignumIntrinsic by default for Ampere CPUs. It is to fix performance problem found on JMH cases `vm.compiler.Signum|java.lang.*MathBench.sig[nN]um*` where fmov is used to transmit data between GPRs and FPRs with significant time cost.
>
> Verified on Ampere-1A and found the scores (thrpt, ops/s) of `java.lang.*MathBench.sig[nN]um*` improved 40~50%, while `vm.compiler.Signum._1_signumFloatTest` and `vm.compiler.Signum._3_signumDoubleTest` results gained exponential increases. Also passed GHA sanity checks, and Jtreg tier1 on Ampere-1A as function-wise smoke tests.
Looks good. I'm looking at Apple M1 which shows no regression with signum intrinsics, although the reliability of JMH benchmarks once we are in the 1 ns range is not great.
So, this is a benefit on Arm and Ampere, and no worse on Apple. Maybe we should think about removing the `UseSignumIntrinsic` flag altogether.
-------------
Marked as reviewed by aph (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/23735#pullrequestreview-2636987299
More information about the hotspot-dev
mailing list