> 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/28815/files - new: https://git.openjdk.org/jdk/pull/28815/files/4af75963..373b1339 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=28815&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28815&range=02-03 Stats: 26668 lines in 2610 files changed: 7287 ins; 4136 del; 15245 mod Patch: https://git.openjdk.org/jdk/pull/28815.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/28815/head:pull/28815 PR: https://git.openjdk.org/jdk/pull/28815
