[aarch64-port-dev ] RFR: 8165404: AArch64: Implement SHA512 accelerator/intrinsic
Yangfei (Felix)
felix.yang at huawei.com
Sat Jul 25 02:16:15 UTC 2020
Hi,
Bug: https://bugs.openjdk.java.net/browse/JDK-8165404
Webrev: http://cr.openjdk.java.net/~fyang/8165404/webrev.00/
This implement SHA-384/SHA-512 transformation using aarch64 v8.2 SHA512 Crypto Extensions.
Reference implementation:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm64/crypto/sha512-ce-core.S?h=v5.4.52
We used QEMU system emulator which supports SHA512 instructions to test the functionality.
SHA512 basic functionality is tested with: http://cr.openjdk.java.net/~fyang/8165404/SHA512.java
Patch passed jtreg tier1-3 test with QEMU system emulator.
We've also verified it with full jtreg tests without SHA512 instructions on aarch64-linux-gnu, to make sure that there's no regression.
We've also created a JMH for performance test: http://cr.openjdk.java.net/~fyang/8165404/TestSHA512.java
We measured the performance benefit with a cycle-accurate simulator.
Patch delivers more than 2x performance gain measured with the three different size message.
Comments?
Thanks,
Felix
More information about the aarch64-port-dev
mailing list