JDK-8244048 : AArch64: Implement C2 optimizations using "SHA3" instructions.
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 15
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2020-04-28
  • Updated: 2021-11-22
  • Resolved: 2021-11-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdFixed
Related Reports
Duplicate :  
Relates :  
Description
Armv8.2 optionally provides "ARMv8.2-SHA, SHA2-512 and SHA3 functionality".

The goal of this task is to optimize the SHA3 implementation in Java on AArch64.

Ideally, this would be done by implementing (in aarch64.ad) the new instructions:
 - EOR3  Three-way Exclusive OR (page C7-1479)
 - RAX1  Rotate and Exclusive OR (page C7-1892)
 - XAR    Exclusive OR and Rotate (page C7-2303)
 - BCAX  Bit Clear and Exclusive OR (page C7-1418)

This would not require another elaborate generated stub like the sha2 optimizations, and it might even optimize other Java code.

Hopefully C2 would optimize the Java code in sun.security.provider.SHA3.java into something that looked like the listing in "K10.2.2 Use of the SHA3 instructions".