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

Vamsi Parasa duke at openjdk.java.net
Wed Feb 23 23:11:03 UTC 2022


On Wed, 23 Feb 2022 05:46:45 GMT, Jatin Bhateja <jbhateja at openjdk.org> 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.
>
> src/hotspot/share/opto/divnode.cpp line 1350:
> 
>> 1348:     return NULL;
>> 1349:   }
>> 1350: 
> 
> Please remove Value and Ideal routines if no explicit transforms are being done.

Will remove the unused transformations.

> src/hotspot/share/opto/divnode.cpp line 1362:
> 
>> 1360:   }
>> 1361: 
>> 1362: //=============================================================================
> 
> You can remove Ideal routine is not transformation is being done.

Will remove the unused transformation.

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

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


More information about the hotspot-compiler-dev mailing list