RFR: 8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions [v17]

Volodymyr Paprotski duke at openjdk.org
Wed Nov 16 21:34:26 UTC 2022


On Tue, 15 Nov 2022 19:44:16 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Volodymyr Paprotski has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 25 commits:
>> 
>>  - Vladimir's review comments
>>  - Merge remote-tracking branch 'origin/master' into avx512-poly
>>  - Merge remote-tracking branch 'origin/master' into avx512-poly
>>  - Vladimir's review
>>  - live review with Sandhya
>>  - jcheck
>>  - Sandhya's review
>>  - fix windows and 32b linux builds
>>  - add getLimbs to interface and reviews
>>  - fix 32-bit build
>>  - ... and 15 more: https://git.openjdk.org/jdk/compare/7357a1a3...8f5942d9
>
> src/hotspot/cpu/x86/stubGenerator_x86_64_poly.cpp line 1004:
> 
>> 1002:   __ jcc(Assembler::less, L_process16Loop);
>> 1003: 
>> 1004:   poly1305_process_blocks_avx512(input, length,
> 
> I'd like to see a comment here explaining what register effects are implicit.
> 
> `poly1305_process_blocks_avx512` has the following comment, but it doesn't mention xmm registers:
> 
>   // Register Map:
>   // reserved: rsp, rbp, rcx
>   // PARAMs: rdi, rbx, rsi, r8-r12
>   // poly1305_multiply_scalar clobbers: r13-r15, rax, rdx

Just redid the register allocation, comments, names, function parameters.. hope its better

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

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


More information about the security-dev mailing list