RFR: 8332268: C2: Add missing optimizations for UDivI/L and UModI/L and unify the shared logic with the signed nodes [v21]

theoweidmannoracle duke at openjdk.org
Tue Dec 10 15:00:21 UTC 2024


> This PR introduces
> - several new optimizations to unsigned division and modulo
>    - x % 1, x % x, x % 2^k
>    - x / 1, x / x, x / 2^k 
>    - does not implement the Granlund and Montgomery algorithm, which has been implemented for signed modulo division in the past. It is unclear if a lot is to be gained by implementing this.
> - tests to test existing optimizations for signed division and modulo 
>    - does not test the Granlund and Montgomery algorithm directly

theoweidmannoracle has updated the pull request incrementally with two additional commits since the last revision:

 - Merge branch 'unsigned-div-opts' of https://github.com/theoweidmannoracle/jdk into unsigned-div-opts
 - Rename variables

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22061/files
  - new: https://git.openjdk.org/jdk/pull/22061/files/75659ae3..fe2232ee

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22061&range=20
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22061&range=19-20

  Stats: 20 lines in 1 file changed: 0 ins; 0 del; 20 mod
  Patch: https://git.openjdk.org/jdk/pull/22061.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22061/head:pull/22061

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


More information about the hotspot-compiler-dev mailing list