-
Enhancement
-
Resolution: Fixed
-
P4
-
25
-
b12
-
aarch64
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8351433 | 24.0.2 | Patrick Zhang | P4 | Resolved | Fixed | master |
JMH microbenchmarks vm.compiler.signum.* produce problematic scores because fmov is used to transmit data between GPRs and FPRs, the time cost is significant, same as mentioned by JDK-8251525.
Particularly, Signum._1_signumFloatTest performance can be improved much by setting -XX:+UnlockDiagnosticVMOptions -XX:+UseSignumIntrinsic, which generates facgt/ushr/bsl pairs for the unrolling code snippet of the hot for-loop of the test case. Verified on Ampere-1A and found the score of patched became 40x better than base (thrpt, ops/s). This JBS is to turn the option ON by default for all Ampere CPUs.
Particularly, Signum._1_signumFloatTest performance can be improved much by setting -XX:+UnlockDiagnosticVMOptions -XX:+UseSignumIntrinsic, which generates facgt/ushr/bsl pairs for the unrolling code snippet of the hot for-loop of the test case. Verified on Ampere-1A and found the score of patched became 40x better than base (thrpt, ops/s). This JBS is to turn the option ON by default for all Ampere CPUs.
- backported by
-
JDK-8351433 AArch64: turn on signum intrinsics by default on Ampere CPUs
-
- Resolved
-
- relates to
-
JDK-8350663 AArch64: Enable UseSignumIntrinsic by default
-
- Open
-
- links to
-
Commit(master) openjdk/jdk24u/23389d08
-
Commit(master) openjdk/jdk/f529bf71
-
Review(master) openjdk/jdk17u-dev/3300
-
Review(master) openjdk/jdk24u/101
-
Review(master) openjdk/jdk/23735
(2 links to)