RFR: 8165404: AArch64: Implement SHA512 accelerator/intrinsic

Yangfei (Felix) felix.yang at huawei.com
Sat Jul 25 02:16:15 UTC 2020


    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:

    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.



More information about the hotspot-runtime-dev mailing list