RFR: 8351412: Add AVX-512 intrinsics for ML-KEM [v6]
Sandhya Viswanathan
sviswanathan at openjdk.org
Fri May 16 00:32:53 UTC 2025
On Thu, 15 May 2025 13:33:42 GMT, Ferenc Rakoczi <duke at openjdk.org> wrote:
>> By using the AVX-512 vector registers the speed of the computation of the ML-KEM algorithms (key generation, encapsulation, decapsulation) can be approximately doubled.
>
> Ferenc Rakoczi has updated the pull request incrementally with one additional commit since the last revision:
>
> Response to review comment + loading constants with broadcast op.
src/hotspot/cpu/x86/stubGenerator_x86_64_kyber.cpp line 250:
> 248: static void montmul(int outputRegs[], int inputRegs1[], int inputRegs2[],
> 249: int scratchRegs1[], int scratchRegs2[], MacroAssembler *_masm) {
> 250: for (int i = 0; i < 4; i++) {
In the intrinsic for montMul we are treating as if MONT_R_BITS is 16 and MONT_Q_INV_MOD_R is 0xF301 whereas in the Java code MONT_R_BITS is 20 and MONT_Q_INT_MOD_R is 0x8F301. Are these equivalent?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24953#discussion_r2092137164
More information about the graal-dev
mailing list