> 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).
Shawn Emery has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: - Merge with master branch - Implement more comments from theRealAph - Implement more comments from adinn - Implement more comments from adinn - Implement more comments from theRealAph - Implement more comments from theRealAph and adinn - Implement comments from theRealAph and adinn - 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: - all: https://git.openjdk.org/jdk/pull/32049/files - new: https://git.openjdk.org/jdk/pull/32049/files/69c81e6d..9053479c Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=32049&range=07 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=32049&range=06-07 Stats: 331678 lines in 3951 files changed: 277572 ins; 29203 del; 24903 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
