RFR: 8314124: RISC-V: implement Base64 intrinsic - decoding [v4]
Hamlin Li
mli at openjdk.org
Sun Aug 25 22:21:17 UTC 2024
On Sat, 24 Aug 2024 07:55:16 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
>>
>> comments
>
> src/hotspot/cpu/riscv/stubGenerator_riscv.cpp line 5492:
>
>> 5490: }
>> 5491:
>> 5492: __ BIND(ScalarLoop);
>
> Why not move this `ScalarLoop` body to immediately before `Exit`? Seems to me that we will have a more clear separation of scalar code and vector code and a more simpler control flow then.
You're right, fixed. Thanks!
> src/hotspot/cpu/riscv/stubGenerator_riscv.cpp line 5517:
>
>> 5515: __ orr(byte0, byte0, byte1);
>> 5516: __ orr(byte0, byte0, byte3);
>> 5517: __ slliw(byte2, byte2, 6);
>
> Is this correct to shift left and modify `byte0` - `byte3` before their original value are OR-ed into `combined32Bits`?
I may have misunderstood your question.
After line 5518, combined32Bits will be byte0[23:18] | byte1[17:12] | byte2[11:6] | byte3[5:0], so before it, we need to move every byte(6 bits) to the right position except of byte3.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20026#discussion_r1730440530
PR Review Comment: https://git.openjdk.org/jdk/pull/20026#discussion_r1730440537
More information about the hotspot-dev
mailing list