Integrated: 8339910: RISC-V: crc32 intrinsic with carry-less multiplication

Hamlin Li mli at openjdk.org
Sat Dec 7 09:59:50 UTC 2024


On Mon, 2 Dec 2024 10:00:11 GMT, Hamlin Li <mli at openjdk.org> wrote:

> Hi,
> Can you review this patch to implement CRC32 with `vclmul` (Zvbc)?
> Thanks!
> 
> For more details of the algorithm, please check the paper: "Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction - Intel", please also refer to the corresponding code in aarch64 or x86 ones.
> As the riscv carry-less multiplication instructions are a bit different from the other platforms, so the implementation itself is also a bit different from others.
> 
> 
> ## Test
> test/hotspot/jtreg/compiler/intrinsics/zip/TestCRC32.java, 
> test/jdk/java/util/zip/TestCRC32.java
> also run tests found by: `grep -lRi crc32 test/* | grep -v bench`

This pull request has now been integrated.

Changeset: c517ffba
Author:    Hamlin Li <mli at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c517ffba7d9388e75b5d7bba77e565e71c0a7d76
Stats:     407 lines in 7 files changed: 404 ins; 0 del; 3 mod

8339910: RISC-V: crc32 intrinsic with carry-less multiplication

Reviewed-by: rehn, luhenry

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

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


More information about the hotspot-dev mailing list