RFR: 8317720: RISC-V: Implement Adler32 intrinsic [v7]

ArsenyBochkarev duke at openjdk.org
Mon May 20 22:41:12 UTC 2024


On Fri, 17 May 2024 13:44:18 GMT, Gui Cao <gcao at openjdk.org> wrote:

>> ArsenyBochkarev has updated the pull request incrementally with eight additional commits since the last revision:
>> 
>>  - Prettify L_nmax loop
>>  - Add comments in functions
>>  - Add explanation comment for L_nmax_loop
>>  - Fix L_nmax_loop for big lengths
>>  - Fix L_by16 loop step
>>  - Prettify intrinsic
>>  - Use LMUL=4 for most of the calculations
>>  - Use LMUL to load multiple data in one step
>
> I also ran the correctness test on the Banana Pi BPI-F3 board (has RVV1.0):
> 
> Before this patch and disable UseRVV:
> Test `test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java` is ok
> Before this patch and enable UseRVV:
> Test `test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java` is ok
> 
> Apply this patch and disable UseRVV:
> Test `test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java` is ok
> Apply this patch and enable UseRVV:
> Test `test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java` is Failed
> 
> The TestAdler32.jtr on Failed is as follows: 
> [TestAdler32.jtr.log](https://github.com/openjdk/jdk/files/15350178/TestAdler32.jtr.log)

Hello @zifeihan! Thanks for your efforts on improving this PR. I don't have access (yet) to Banana Pi board, so I can't debug precisely the case you pointed out. However, I know that vlen for Banana Pi is 256 bit, so I fixed probles for this case and checked functional correctness on QEMU for both 128 and 256 bit, which is OK now. Could you please do a re-run of `test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java` test?

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

PR Comment: https://git.openjdk.org/jdk/pull/18382#issuecomment-2121332468


More information about the hotspot-compiler-dev mailing list