Integrated: 8341068: [s390x] intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long
Amit Kumar
amitkumar at openjdk.org
Mon Nov 4 03:38:39 UTC 2024
On Thu, 17 Oct 2024 09:45:19 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:
> Add match rules for UDivI, UModI, UDivL, UModL. And also adds `dlr` and `dlgr` instruction.
>
> Tier1 test are clean for fastdebug vm;
>
> Before this patch, `compiler/c2/TestDivModNodes.java` was failing (see jbs issue) but with this patch test is passing.
>
> Without Patch:
>
>
> Benchmark (BUFFER_SIZE) (divisorType) Mode Cnt Score Error Units
> IntegerDivMod.testDivideRemainderUnsigned 1024 mixed avgt 15 1935.176 ± 2.191 ns/op
> IntegerDivMod.testDivideRemainderUnsigned 1024 positive avgt 15 1934.915 ± 3.207 ns/op
> IntegerDivMod.testDivideRemainderUnsigned 1024 negative avgt 15 1934.325 ± 1.108 ns/op
> IntegerDivMod.testDivideUnsigned 1024 mixed avgt 15 1809.782 ± 49.341 ns/op
> IntegerDivMod.testDivideUnsigned 1024 positive avgt 15 1769.326 ± 2.607 ns/op
> IntegerDivMod.testDivideUnsigned 1024 negative avgt 15 1784.053 ± 71.190 ns/op
> IntegerDivMod.testRemainderUnsigned 1024 mixed avgt 15 2026.978 ± 1.534 ns/op
> IntegerDivMod.testRemainderUnsigned 1024 positive avgt 15 2028.039 ± 3.812 ns/op
> IntegerDivMod.testRemainderUnsigned 1024 negative avgt 15 2437.843 ± 636.808 ns/op
> Finished running test 'micro:java.lang.IntegerDivMod'
>
>
> Benchmark (BUFFER_SIZE) (divisorType) Mode Cnt Score Error Units
> LongDivMod.testDivideRemainderUnsigned 1024 mixed avgt 15 4524.897 ± 16.566 ns/op
> LongDivMod.testDivideRemainderUnsigned 1024 positive avgt 15 4373.714 ± 9.514 ns/op
> LongDivMod.testDivideRemainderUnsigned 1024 negative avgt 15 2018.309 ± 1.788 ns/op
> LongDivMod.testDivideUnsigned 1024 mixed avgt 15 4320.382 ± 19.055 ns/op
> LongDivMod.testDivideUnsigned 1024 positive avgt 15 3988.953 ± 8.770 ns/op
> LongDivMod.testDivideUnsigned 1024 negative avgt 15 1069.703 ± 1.525 ns/op
> LongDivMod.testRemainderUnsigned 1024 mixed avgt 15 5589.319 ± 4.247 ns/op
> LongDivMod.testRemainderUnsigned 1024 positive avgt 15 3904.555 ± 3.191 ns/op
> LongDivMod.testRemainderUnsigned 1024 negative avgt 15 1765.761 ± 1.539 ns/op
> Finished ...
This pull request has now been integrated.
Changeset: c1251780
Author: Amit Kumar <amitkumar at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/c125178065664fdf96c42dfc6dcfa2431e6011a4
Stats: 101 lines in 3 files changed: 99 ins; 0 del; 2 mod
8341068: [s390x] intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long
Reviewed-by: lucy, aph
-------------
PR: https://git.openjdk.org/jdk/pull/21559
More information about the hotspot-compiler-dev
mailing list