RFR: 8331558: AArch64: optimize integer remainder

Jin Guojie duke at openjdk.org
Thu May 30 05:37:30 UTC 2024


On some Arm processors, a separate multiply/subtract is actually faster than the combined instruction.

(1) The following test has passed, which shows 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%

(2) jtreg test has passed

make run-test  TEST=tier1

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

Commit messages:
 - 8331558: AArch64: optimize integer remainder

Changes: https://git.openjdk.org/jdk/pull/19471/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19471&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331558
  Stats: 73 lines in 4 files changed: 58 ins; 9 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/19471.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19471/head:pull/19471

PR: https://git.openjdk.org/jdk/pull/19471


More information about the hotspot-dev mailing list