[aarch64-port-dev ] [16] RFR[S]: 8251216: Implement MD5 intrinsics on AArch64

Andrew Haley aph at redhat.com
Tue Aug 11 10:06:03 UTC 2020


On 09/08/2020 04:19, Ludovic Henry wrote:
> Hello,
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8251216
> Webrev: http://cr.openjdk.java.net/~luhenry/8251216/webrev.00
> 
> Testing: Linux-AArch64, fastdebug, test/hotspot/jtreg/compiler/intrinsics/sha/ test/hotspot/jtreg:tier1 test/jdk:tier1
> 
> This patch implements the MD5 intrinsic on AArch64 following its implementation on x86 [1]. The performance improvements are the following (on Linux-AArch64 on a Marvell TX2):
> 
> -XX:-UseMD5Intrinsics
> Benchmark              (digesterName)  (length)  (provider)   Mode  Cnt     Score    Error   Units
> MessageDigests.digest             md5        64     DEFAULT  thrpt   10  1616.238 ± 28.082  ops/ms
> MessageDigests.digest             md5      1024     DEFAULT  thrpt   10   215.030 ±  0.691  ops/ms
> MessageDigests.digest             md5   1048576     DEFAULT  thrpt   10     0.228 ±  0.001  ops/ms
> 
> -XX:+UseMD5Intrinsics
> Benchmark              (digesterName)  (length)  (provider)   Mode  Cnt     Score    Error   Units
> MessageDigests.digest             md5        64     DEFAULT  thrpt   10  2005.233 ± 40.513  ops/ms => 24% speedup
> MessageDigests.digest             md5      1024     DEFAULT  thrpt   10   275.979 ±  0.455  ops/ms => 28% speedup
> MessageDigests.digest             md5   1048576     DEFAULT  thrpt   10     0.279 ±  0.001  ops/ms => 22% speedup
> 
> Thank you,
> Ludovic
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8250902
> 

How did you test this? I'm looking through the test suite, but I can't
find the test vectors. They must be in there somewhere.

https://www.nist.gov/itl/ssd/software-quality-group/nsrl-test-data

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the hotspot-compiler-dev mailing list