RFR: 8261542: X86 slice and unslice intrinsics for 256-bit byte/short vectors

Sandhya Viswanathan sviswanathan at openjdk.java.net
Thu Feb 11 14:26:45 UTC 2021


The slice and unslice intrinsics for 256-bit byte/short vectors can be implemented for x86 platforms supporting AVX2 using a sequence of instructions.

JBS: https://bugs.openjdk.java.net/browse/JDK-8261542

The PerfSliceOrigin.java jmh test attached to the JBS shows the following performance on AVX2 platform.

Before:
Benchmark                                 (size)   Mode  Cnt   Score   Error   Units
PerfSliceOrigin.vectorSliceOrigin           1024  thrpt    5  18.887 ± 1.128  ops/ms
PerfSliceOrigin.vectorSliceUnsliceOrigin    1024  thrpt    5   9.374 ± 0.370  ops/ms

After:
Benchmark                                 (size)   Mode  Cnt      Score     Error   Units
PerfSliceOrigin.vectorSliceOrigin           1024  thrpt    5  13861.420 ±  19.071  ops/ms
PerfSliceOrigin.vectorSliceUnsliceOrigin    1024  thrpt    5   7895.199 ± 142.580  ops/ms

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

Commit messages:
 - 8261542: X86 slice and unslice intrinsics for 256-bit byte/short vectors

Changes: https://git.openjdk.java.net/jdk/pull/2520/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2520&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8261542
  Stats: 119 lines in 7 files changed: 99 ins; 5 del; 15 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2520.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2520/head:pull/2520

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


More information about the hotspot-compiler-dev mailing list