RFR: 8339910: RISC-V: crc32 intrinsic with carry-less multiplication [v3]
Ludovic Henry
luhenry at openjdk.org
Tue Dec 3 12:38:42 UTC 2024
On Mon, 2 Dec 2024 13:54:18 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> Hi,
>> Can you review this patch to implement CRC32 with `vclmul` (Zvbc)?
>> Thanks!
>>
>>
>> ## Test
>> test/hotspot/jtreg/compiler/intrinsics/zip/TestCRC32.java,
>> test/jdk/java/util/zip/TestCRC32.java
>
> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
>
> add some background description
src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 1795:
> 1793: vle64_v(v7, buf); addi(buf, buf, STEP);
> 1794:
> 1795: vmv_v_x(v31, zr);
Why the `vmv_v_x`? Where is `v31` used here? Same for https://github.com/openjdk/jdk/pull/22475/files#diff-7a5c3ed05b6f3f06ed1c59f5fc2a14ec566a6a5bd1d09606115767daa99115bdR1797
src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 1805:
> 1803:
> 1804: Label L_16_bytes_loop;
> 1805: j(L_16_bytes_loop);
Why this unconditional jump which will go to the next instruction?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22475#discussion_r1867646741
PR Review Comment: https://git.openjdk.org/jdk/pull/22475#discussion_r1867650489
More information about the hotspot-dev
mailing list