This enhancement provides AArch64 GPR intrinsics for doubleKeccak().  
Previously, only SIMD (Neon) intrinsics were implemented for doubleKeccak() on 
AArch64 systems.  Performance gains for ML-KEM and ML-DSA benchmarks improve 
from 2 to 9% with the GPR intrinsics:

ML-KEM decapsulation: +2-6% ops/sec
ML-KEM encapsulation: +3-8% ops/sec
ML-KEM key generation: +4-6% ops/sec

ML-DSA signing: +2-4% ops/sec
ML-DSA verification: +6-9% ops/sec
ML-DSA key generation: +6-8% ops/sec

---------
- [X] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - Don't need full 128 bytes on stack; 112 is sufficient and 16 byte aligned
 - Fix AOT Code Cache bug by using ID instead of the name
 - 8379016: Improve double_keccak() intrinsic on ARM when SHA3 instructions are 
not available

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

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

Reply via email to