On Thu, 22 Oct 2026 02:24:10 GMT, Volodymyr Paprotski <[email protected]> 
wrote:

>> 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)
>> 
>> ---------
>> - [X] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Volodymyr Paprotski has updated the pull request with a new target base due 
> to a merge or a rebase. The pull request now contains eight commits:
> 
>  - re-enable test
>  - Merge remote-tracking branch 'origin/master' into avx2-mlkem
>  - whitespace
>  - reduce fuzz test repetition
>  - Merge remote-tracking branch 'origin/master' into avx2-mlkem
>  - prepare for rebase
>  - comments from Anas
>  - avx2 mlkem drop

src/hotspot/cpu/x86/assembler_x86.cpp line 13618:

> 13616:   assert(vector_len == AVX_128bit ? VM_Version::supports_avx()
> 13617:                                   : VM_Version::supports_avx2(), "");
> 13618:   InstructionAttr attributes(vector_len, /* vex_w */ false, /* 
> legacy_mode */ true, /* no_mask_reg */ true, /* uses_vl */ true);

uses_vl should be false, there is no EVEX extension for this instruction.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/33444#discussion_r4537818631

Reply via email to