RFR: 8360934: Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI [v4]

Volodymyr Paprotski vpaprotski at openjdk.org
Fri Jan 9 23:21:24 UTC 2026


On Thu, 8 Jan 2026 17:59:35 GMT, Shawn M Emery <duke at openjdk.org> wrote:

>> This change allows use of the AVX512_VBMI instruction set to further optimize decompression/parsing of polynomial coefficients for ML-KEM.  The speedup gained in the ML-KEM benchmarks for key generation is between 0.3 to 0.6%, encapsulation is  0.4 to 1.7%, and decapsulation is 0.3 to 1.9%.
>> 
>> Thank you to @sviswa7 and @ferakocz for their help in working through the early stages of this code with me.
>
> Shawn M 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 mainline
>  - 8360934: Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI
>    Change Swap to Dup named function/variable
>    Check for only VBMI support (not VBMI2)
>  - Update copyright year
>  - Merge with mainline
>  - Swap parameter operation with source
>  - Remove wrong mask from evpsrlvw
>  - Reverse ordering for vpermb and vpsrlvw instructions
>  - Switch from vpshldvw to vpsrlvw
>  - Fix whitespaces
>  - 8360934: Add AVX-512 intrinsics for ML-KEM - enhancement on AVX512_VBMI and AVX512_VBMI2

> @vpaprotsk I've reran related regression tests and benchmarks after implementing your code review comments and remerging with the master branch. These have all came back with the expected results. Could you reapprove after the merge commit? Thank you.

Sure! Though my approval wont let you integrate, I am a committer, not a reviewer. Maybe we can ask @ascarpino

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

Marked as reviewed by vpaprotski (Committer).

PR Review: https://git.openjdk.org/jdk/pull/28815#pullrequestreview-3645900397


More information about the security-dev mailing list