[jdk17u-dev] RFR: 8319184: RISC-V: improve MD5 intrinsic

Gui Cao gcao at openjdk.org
Wed Nov 15 15:58:47 UTC 2023


Backport to improve MD5 intrinsic performance on linux-riscv platform a bit more.
Especially, this changes usage of scratch registers t0 and t1 so that will be safer.

Correctness testing on  LicheePi 4A 

- [x]  test/jdk/java/security/MessageDigest
- [x]  test/hotspot/jtreg/compiler/intrinsics/sha/sanity


Performance testing on LicheePi 4A:

Before
Benchmark                    (digesterName)  (length)  (provider)  Mode  Cnt      Score     Error  Units
MessageDigests.digest                   md5        64     DEFAULT  avgt   50    921.416 ?  11.414  ns/op
MessageDigests.digest                   md5     16384     DEFAULT  avgt   50  79387.519 ?  83.626  ns/op
MessageDigests.getAndDigest             md5        64     DEFAULT  avgt   50   1501.751 ?  47.988  ns/op
MessageDigests.getAndDigest             md5     16384     DEFAULT  avgt   50  81142.505 ? 135.749  ns/op

After:
Benchmark                    (digesterName)  (length)  (provider)  Mode  Cnt      Score     Error  Units
MessageDigests.digest                   md5        64     DEFAULT  avgt   50    850.437 ?  11.894  ns/op
MessageDigests.digest                   md5     16384     DEFAULT  avgt   50  71557.940 ? 111.524  ns/op
MessageDigests.getAndDigest             md5        64     DEFAULT  avgt   50   1385.549 ?  15.876  ns/op
MessageDigests.getAndDigest             md5     16384     DEFAULT  avgt   50  73191.200 ? 101.474  ns/op

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

Commit messages:
 - Backport 8319184: RISC-V: improve MD5 intrinsic

Changes: https://git.openjdk.org/jdk17u-dev/pull/1960/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=1960&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8319184
  Stats: 140 lines in 1 file changed: 18 ins; 13 del; 109 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/1960.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/1960/head:pull/1960

PR: https://git.openjdk.org/jdk17u-dev/pull/1960


More information about the jdk-updates-dev mailing list