JDK-8337666 : AArch64: SHA3 GPR intrinsic
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 24
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2024-08-01
  • Updated: 2025-06-11
  • Resolved: 2025-06-05
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.
JDK 25
25 b26Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Currently there are 2 options: C2 generated code and ARMv8.2-SHA intrinsic impemented in JDK-8252204.

C2 code uses GPRs and has been recently improved after JDK-8333867 but still is not optimal, in particular because of extra register spills.

Current intrinsic is slower than C2 variant on some platforms that support the required extensions like Graviton 3 https://bugs.openjdk.org/browse/JDK-8295698?focusedId=14532815&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14532815 but provides good speed-up on others like Apple Silicon.

It is possible to implement a GPR intrinsic version that will be available for any platform and work faster than C2 version.
Comments
Changeset: 23f1d4f9 Branch: master Author: Dmitry Chuyko <dchuyko@openjdk.org> Date: 2025-06-05 14:28:27 +0000 URL: https://git.openjdk.org/jdk/commit/23f1d4f9a993033596ff17751c877f2bb3f792ed
05-06-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24260 Date: 2025-03-26 15:55:59 +0000
26-03-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20422 Date: 2024-08-01 14:38:12 +0000
01-08-2024