RFR: 8348561: Add aarch64 intrinsics for ML-DSA [v6]

Andrew Dinn adinn at openjdk.org
Mon Feb 24 14:58:57 UTC 2025


On Thu, 20 Feb 2025 17:33:18 GMT, Ferenc Rakoczi <duke at openjdk.org> wrote:

>> By using the aarch64 vector registers the speed of the computation of the ML-DSA algorithms (key generation, document signing, signature verification) can be approximately doubled.
>
> Ferenc Rakoczi has updated the pull request incrementally with four additional commits since the last revision:
> 
>  - Accepting suggested change from Andrew Dinn
>  - Added comments suggested by Andrew Dinn
>  - Fixed copyright years
>  - renaming a couple of functions

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

> 4652: 
> 4653:   void dilithium_add_sub32() {
> 4654:     __ addv(v24, __ T4S, v0, v16);

__ addv(v24, __ T4S, v0, v16); // a0 = b + c

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

> 4661:     __ addv(v31, __ T4S, v7, v23);
> 4662: 
> 4663:     __ subv(v0, __ T4S, v0, v16);

__ subv(v0, __ T4S, v0, v16);  // a1 = b - c

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

> 4672: 
> 4673:   void dilithium_montmul_sub_add16() {
> 4674:     __ sqdmulh(v24, __ T4S, v1, v16);

__ mulv(v16, __ T4S, v16, v30);    // m = aLow * qinv

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23300#discussion_r1967809436
PR Review Comment: https://git.openjdk.org/jdk/pull/23300#discussion_r1967809840
PR Review Comment: https://git.openjdk.org/jdk/pull/23300#discussion_r1967811299


More information about the hotspot-dev mailing list