RFR: 8282221: x86 intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long [v2]

Vamsi Parasa duke at openjdk.java.net
Wed Feb 23 23:15:53 UTC 2022


> Optimizes the divideUnsigned() and remainderUnsigned() methods in java.lang.Integer and java.lang.Long classes using x86 intrinsics. This change shows 3x improvement for Integer methods and upto 25% improvement for Long. This change also implements the DivMod optimization which fuses division and modulus operations if needed. The DivMod optimization shows 3x improvement for Integer and ~65% improvement for Long.

Vamsi Parasa has updated the pull request incrementally with one additional commit since the last revision:

  Move intrinsic code to macro assembly routines; remove unused transformations for div and mod nodes

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7572/files
  - new: https://git.openjdk.java.net/jdk/pull/7572/files/fa57175a..7fc18af3

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7572&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7572&range=00-01

  Stats: 326 lines in 7 files changed: 137 ins; 176 del; 13 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7572.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7572/head:pull/7572

PR: https://git.openjdk.java.net/jdk/pull/7572


More information about the core-libs-dev mailing list