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
