Integrated: 8290034: Auto vectorize reverse bit operations.
Jatin Bhateja
jbhateja at openjdk.org
Thu Jul 28 04:45:57 UTC 2022
On Mon, 18 Jul 2022 08:01:09 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
> Summary of changes:
> - Intrinsify scalar bit reverse APIs to emit efficient instruction sequence for X86 targets with and w/o GFNI feature.
> - Handle auto-vectorization of Integer/Long.reverse bit operations.
> - Backend implementation for these were added with 4th incubation of VectorAPIs.
>
> Following are performance number for newly added JMH mocro benchmarks:-
>
>
> No-GFNI(CLX):
> =============
> Baseline:
> Benchmark (size) Mode Cnt Score Error Units
> Integers.reverse 500 avgt 2 1.085 us/op
> Longs.reverse 500 avgt 2 1.236 us/op
> WithOpt:
> Benchmark (size) Mode Cnt Score Error Units
> Integers.reverse 500 avgt 2 0.104 us/op
> Longs.reverse 500 avgt 2 0.255 us/op
>
> With-GFNI(ICX):
> ===============
> Baseline:
> Benchmark (size) Mode Cnt Score Error Units
> Integers.reverse 500 avgt 2 0.887 us/op
> Longs.reverse 500 avgt 2 1.095 us/op
>
> Without:
> Benchmark (size) Mode Cnt Score Error Units
> Integers.reverse 500 avgt 2 0.037 us/op
> Longs.reverse 500 avgt 2 0.145 us/op
>
>
> Kindly review and share feedback.
>
> Best Regards,
> Jatin
This pull request has now been integrated.
Changeset: 5d82d67a
Author: Jatin Bhateja <jbhateja at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/5d82d67a9e1303e235f475c199eb1435c3d69006
Stats: 425 lines in 18 files changed: 425 ins; 0 del; 0 mod
8290034: Auto vectorize reverse bit operations.
Reviewed-by: xgong, kvn
-------------
PR: https://git.openjdk.org/jdk/pull/9535
More information about the hotspot-compiler-dev
mailing list