RFR: 8339910: RISC-V: crc32 intrinsic with carry-less multiplication [v3]

Hamlin Li mli at openjdk.org
Tue Dec 3 13:51:38 UTC 2024


On Tue, 3 Dec 2024 13:37:41 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 2048:
>> 
>>> 2046:   const int64_t single_table_size = 256;
>>> 2047:   const int64_t table_num = 8;   // 4 for scalar, 4 for plain vector
>>> 2048:   const ExternalAddress table_addr = StubRoutines::crc_table_addr();
>> 
>> Wouldn't it be easier and clearer to have a dedicated table?
>
> Make sense to me, I'll fix it later.

If we do it as you suggested, we could either add new api in shared class `StubRoutines` or we add and use something like StubRoutines::riscv::vclmul_crc_table() directly, but seems either ways are not good enough, and I see other platforms are using the similar pattern as the current patch.
So maybe we should keep it as it is now?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22475#discussion_r1867753596


More information about the hotspot-dev mailing list