On Wed, 19 Aug 2026 05:52:40 GMT, Shawn Emery <[email protected]> wrote:

>> 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 incrementally with one additional 
> commit since the last revision:
> 
>   Implement comments from theRealAph and adinn

Just a few more nits, but it's looking much better.

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 5101:

> 5099:     // use r3.r17,r19..r28 to keep a0..a24.
> 5100:     // a0..a24 are respective locals from SHA3.java
> 5101:     Register a[25] = {

Suggestion:

    const Register a[25] = {

And `const`ify everywhere.

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 5168:

> 5166:     __ ldp(r25, r26, Address(sp, 64));
> 5167:     __ ldp(r27, r28, Address(sp, 80));
> 5168:     if (can_use_fp && can_use_r18) {

Suggestion:

pop(saved_regs, rsp);

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

PR Comment: https://git.openjdk.org/jdk/pull/32049#issuecomment-5345884294
PR Review Comment: https://git.openjdk.org/jdk/pull/32049#discussion_r3815364192
PR Review Comment: https://git.openjdk.org/jdk/pull/32049#discussion_r3815353450

Reply via email to