RFR: 8302113: Improve CRC32 intrinsic with crypto pmull on AArch64
Andrew Haley
aph at openjdk.org
Sat Feb 11 23:33:24 UTC 2023
On Sat, 11 Feb 2023 16:26:20 GMT, Yi-Fan Tsai <duke at openjdk.org> wrote:
> > Why do we need any new code for this processor? We already have routines for CRC32 using pmull.
>
> Do you refer to [this pmull implementation](https://github.com/openjdk/jdk/blob/1ef9f6507ba45419f0fa896915eec064762c5153/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp#L3753)? It uses pmull to take in 8-bit elements and produces 16-bit results. The new code uses pmull variation in Cryptographic Extension to take in 32-bit elements and produces 64-bit results. It is more efficient along with eor3.
How much more efficient is it than the old version of CRC32 using pmull? And do we today need three different hand-coded versions of CRC32?
-------------
PR: https://git.openjdk.org/jdk/pull/12480
More information about the hotspot-dev
mailing list