RFR: 8339738: RISC-V: Vectorize crc32 intrinsic [v4]

Fei Yang fyang at openjdk.org
Wed Sep 11 08:30:08 UTC 2024


On Wed, 11 Sep 2024 08:17:07 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Ah, I see. Regarding the "offset is too large" issue, could the far versions of these branches help? I mean setting the `is_far` parameters to true [1].
>> 
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/riscv/macroAssembler_riscv.hpp#L670-L675
>
> I was thinking the similar thing.
> But it's bit tedious, as I need to figure out which jump should be far and which not, or I could just simply change any where suspicious, but it's not good either.
> So I pick the simplest solution to move it to the end, in other intrinsics I saw the similar code layout, they don't have the comment for it, but I guess they are doing the similar things.

Yeah, I understand what you mean. I am just a bit concerned about the two `j(L_exit)` added. Seems the one in the `if (UseRVV)` block is not necessary?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20910#discussion_r1753572543


More information about the hotspot-dev mailing list