RFR: 8319716: RISC-V: Add SHA-2 [v7]

Fei Yang fyang at openjdk.org
Thu Dec 21 12:48:55 UTC 2023


On Wed, 20 Dec 2023 08:21:14 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

>> Hi, please consider.
>> 
>> Main author is @luhenry, I only fixed some minor things and tested it.
>> 
>> Such as:
>> test/hotspot/jtreg/compiler/intrinsics/sha/
>> test/jdk/java/security/MessageDigest/
>> test/jdk/jdk/security/
>> tier1
>> 
>> And still running some test.
>
> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:
> 
>  - t2 caller saved, no need to push/pop
>  - Merge branch 'master' into sha256
>  - Removed swap file
>  - Index load, other comment
>  - Merge branch 'master' into sha256
>  - Materialize constants address once
>  - Removed template
>  - Flag fixes
>  - Merge branch 'master' into sha256
>  - Share code
>  - ... and 1 more: https://git.openjdk.org/jdk/compare/1ebc5220...be46fe4f

src/hotspot/cpu/riscv/stubGenerator_riscv.cpp line 4039:

> 4037:       __ vslideup_vi(v16, v27, 2);                     // v16 = {d,c,_,_}
> 4038:       // Merge elements [1..0] of v26 ({a,b}) into elements [1..0] of v16
> 4039:       __ vmerge_vvm(v16, v16, v26);                    // v16 = {d,c,b,a}

Hi, Great to see that we are switching to use index-load to get {f,e,b,a},{h,g,d,c} pre-loop. But I was also expecting to use index-store to put {f,e,b,a},{h,g,d,c} back to {a,b,c,d},{e,f,g,h} post-loop as I mentioned in my previous comment [1]. Seems that was missed? I would prefer to have this change before we go.

[1] https://github.com/openjdk/jdk/pull/16562#discussion_r1393767555

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16562#discussion_r1434027709


More information about the hotspot-dev mailing list