RFR: 8286972: Support the new loop induction variable related PopulateIndex IR node on x86
Vladimir Kozlov
kvn at openjdk.java.net
Wed May 18 23:40:34 UTC 2022
On Wed, 18 May 2022 17:25:38 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
> This PR adds x86 backend support for the new loop induction variable related PopulateIndex IR node.
> This IR node was added as part of [JDK-8280510](https://bugs.openjdk.java.net/browse/JDK-8280510).
>
> The performance numbers are as follows:
> Before:
> Benchmark (count) Mode Cnt Score Error Units
> IndexVector.exprWithIndex1 65536 thrpt 3 64556.552 ± 1126.396 ops/s
> IndexVector.exprWithIndex2 65536 thrpt 3 22117.050 ± 11452.098 ops/s
> IndexVector.indexArrayFill 65536 thrpt 3 117776.383 ± 1120.957 ops/s
>
> After:
> Benchmark (count) Mode Cnt Score Error Units
> IndexVector.exprWithIndex1 65536 thrpt 3 203180.290 ± 2147.807 ops/s
> IndexVector.exprWithIndex2 65536 thrpt 3 274132.756 ± 6853.393 ops/s
> IndexVector.indexArrayFill 65536 thrpt 3 374165.202 ± 46930.779 ops/s
>
> Please review.
>
> Best Regards,
> Sandhya
src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 2285:
> 2283: assert((dst->encoding() < 16) && (src1->encoding() < 16) && (src2->encoding() < 16),
> 2284: "XMM register should be 0-15");
> 2285: }
This whole block could be under `#ifdef ASSERT`.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8778
More information about the hotspot-compiler-dev
mailing list