RFR: 8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions [v9]
Volodymyr Paprotski
duke at openjdk.org
Wed Nov 9 21:49:09 UTC 2022
On Wed, 9 Nov 2022 00:23:21 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Volodymyr Paprotski has updated the pull request incrementally with one additional commit since the last revision:
>>
>> fix 32-bit build
>
> src/hotspot/cpu/x86/macroAssembler_x86.hpp line 970:
>
>> 968:
>> 969: void addmq(int disp, Register r1, Register r2);
>> 970:
>
> Leftover formatting changes.
done
> src/hotspot/cpu/x86/stubGenerator_x86_64_poly.cpp line 95:
>
>> 93:
>> 94: // OFFSET 64: mask_44
>> 95: 0xfffffffffff, 0xfffffffffff,
>
> Please, keep leading zeroes explicit in the constants.
done. Also split things up and added ExternalAddress version of instructions.
> src/hotspot/cpu/x86/stubRoutines_x86.cpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved.
>
> No changes in the file anymore.
done
> src/hotspot/share/opto/library_call.cpp line 7014:
>
>> 7012: const TypeKlassPtr* rklass = TypeKlassPtr::make(instklass_ImmutableElement);
>> 7013: const TypeOopPtr* rtype = rklass->as_instance_type()->cast_to_ptr_type(TypePtr::NotNull);
>> 7014: Node* rObj = new CheckCastPPNode(control(), rFace, rtype);
>
> FTR it's an unsafe cast since it doesn't involve a runtime check from `IntegerModuloP` to `ImmutableElement`. Please, lift as much checks into Java wrapper as possible.
@iwanowww Please have a look, just pushed a different way to fetch the limbs.
-------------
PR: https://git.openjdk.org/jdk/pull/10582
More information about the hotspot-compiler-dev
mailing list