RFR: 8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions [v4]
vpaprotsk
duke at openjdk.org
Mon Oct 24 22:06:57 UTC 2022
On Tue, 18 Oct 2022 06:26:38 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> vpaprotsk has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>>
>> - assembler checks and test case fixes
>> - Merge remote-tracking branch 'origin/master' into avx512-poly
>> - Merge remote-tracking branch 'origin' into avx512-poly
>> - further restrict UsePolyIntrinsics with supports_avx512vlbw
>> - missed white-space fix
>> - - Fix whitespace and copyright statements
>> - Add benchmark
>> - Merge remote-tracking branch 'vpaprotsk/master' into avx512-poly
>> - Poly1305 AVX512 intrinsic for x86_64
>
> src/hotspot/cpu/x86/assembler_x86.cpp line 5484:
>
>> 5482:
>> 5483: void Assembler::evpunpckhqdq(XMMRegister dst, KRegister mask, XMMRegister src1, XMMRegister src2, bool merge, int vector_len) {
>> 5484: assert(UseAVX > 2, "requires AVX512F");
>
> Please replace flag with feature EVEX check.
done
> src/hotspot/cpu/x86/assembler_x86.cpp line 7831:
>
>> 7829:
>> 7830: void Assembler::vpandq(XMMRegister dst, XMMRegister nds, Address src, int vector_len) {
>> 7831: assert(VM_Version::supports_evex(), "");
>
> Assertion should check existence of AVX512VL for non 512 but vectors.
done
> src/hotspot/cpu/x86/assembler_x86.cpp line 7958:
>
>> 7956:
>> 7957: void Assembler::vporq(XMMRegister dst, XMMRegister nds, Address src, int vector_len) {
>> 7958: assert(VM_Version::supports_evex(), "");
>
> Same as above
done
> src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 1960:
>
>> 1958: address StubGenerator::generate_poly1305_masksCP() {
>> 1959: StubCodeMark mark(this, "StubRoutines", "generate_poly1305_masksCP");
>> 1960: address start = __ pc();
>
> You may use [align64](https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp#L777) here, like
done
-------------
PR: https://git.openjdk.org/jdk/pull/10582
More information about the security-dev
mailing list