RFR: 8329254: optimize integral reverse operations on x86 GFNI target.

Jatin Bhateja jbhateja at openjdk.org
Thu Mar 28 11:45:40 UTC 2024


- Efficient GFNI based instruction sequence to compute integral reverse operation was added along with JEP-426 (VectorAPI 4th Incubation). https://bugs.openjdk.org/browse/JDK-8284960

- However, the CPUID based feature detection for GFNI was incorrectly performed under AVX512 check, fixing it show roughly 2X performance improvement for Integer/Long.reverse APIs on E-core targets (MTL+).


BaseLine:
Benchmark              (size)  Mode  Cnt  Score   Error  Units
Integers.reverse          500  avgt    2  0.120          us/op
Longs.reverse             500  avgt    2  0.221          us/op

Withopt:
Benchmark              (size)  Mode  Cnt  Score   Error  Units
Integers.reverse          500  avgt    2  0.050          us/op
Longs.reverse             500  avgt    2  0.086          us/op


Kindly review.

Best Regards,
Jatin

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

Commit messages:
 - 8329254: optimize integral reverse operations on x86 GFNI target.

Changes: https://git.openjdk.org/jdk/pull/18530/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18530&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8329254
  Stats: 4 lines in 1 file changed: 2 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/18530.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18530/head:pull/18530

PR: https://git.openjdk.org/jdk/pull/18530


More information about the hotspot-compiler-dev mailing list