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

Jatin Bhateja jbhateja at openjdk.java.net
Wed Apr 6 06:27:43 UTC 2022


On Wed, 6 Apr 2022 06:02:07 GMT, Vamsi Parasa <duke at openjdk.java.net> wrote:

>> 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 with a new target base due to a merge or a rebase. The pull request now contains 13 commits:
> 
>  - Merge branch 'openjdk:master' into udivmod
>  - add error msg for jtreg test
>  - update jtreg test to run on x86_64
>  - add bmi1 support check and jtreg tests
>  - Merge branch 'master' of https://git.openjdk.java.net/jdk into udivmod
>  - fix 32bit build issues
>  - Fix line at end of file
>  - Move intrinsic code to macro assembly routines; remove unused transformations for div and mod nodes
>  - fix trailing white space errors
>  - fix whitespaces
>  - ... and 3 more: https://git.openjdk.java.net/jdk/compare/741be461...acba7c19

Marked as reviewed by jbhateja (Committer).

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

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


More information about the core-libs-dev mailing list