This provides AVX2 intrinsics for MLKEM operations. I also refactored AVX512 
for code sharing. (A lot of this is similar to the MLDSA refactoring I did, and 
general shape follows that design)

Performance:
- KEMBench.MLKEM.(en|de)capsulate on AVX2 got 50-80% faster (depending on 
keysize and operation)
- On AVX512, the intrinsics themselves were ~10-30% faster, but it doesnt 
really show on the top-level KEMBench.MLKEM.(en|de)capsulate (other parts of 
the benchmark take over, eg SHA3 which we optimized previously)

Note: The test needs #33331, currently test disabled for that case

---------
- [X] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - whitespace
 - reduce fuzz test repetition
 - Merge remote-tracking branch 'origin/master' into avx2-mlkem
 - prepare for rebase
 - comments from Anas
 - avx2 mlkem drop

Changes: https://git.openjdk.org/jdk/pull/33444/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33444&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8394869
  Stats: 1571 lines in 5 files changed: 1002 ins; 239 del; 330 mod
  Patch: https://git.openjdk.org/jdk/pull/33444.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/33444/head:pull/33444

PR: https://git.openjdk.org/jdk/pull/33444

Reply via email to