On Fri, 8 Apr 2022 01:05:33 GMT, Srinivas Vamsi Parasa <d...@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.
>
> Srinivas Vamsi Parasa has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   uncomment zero in integer div, mod test

Personally, I think the optimisation for `div < 0` should be handled by the 
mid-end optimiser, which will not only give us the advantages of dead code 
elimination, but also global code motion. I would suggest the backend only 
doing `xorl rdx, rdx; divl $div$$Register` and the optimisation for `div < 0` 
will be implemented as a part of JDK-8282365. What do you think?
Thanks.

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

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

Reply via email to