JDK-8366076 : ARM32 Invalid registers allocated for vector instructions.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25,26
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • CPU: arm
  • Submitted: 2025-08-25
  • Updated: 2025-08-29
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
tbdUnresolved
Related Reports
Causes :  
Causes :  
Description
Aarch32 C2 vector operations are emulated [1] on top of FPU instructions (due to incompatibility of simd instructions [2]) , working with float registers 0–31 while allocating [2] them from the full range of 0–61. This causes an assertion failure in debug mode and potentially invalid results in release binaries.  Currently, we know that only JDK-8346999 is affected by this bug, but there may be more.

[1] https://github.com/openjdk/jdk/blob/45726a1f8b8f76586037867a32b82f8ab9b96937/src/hotspot/cpu/arm/arm.ad#L10250
[2] https://github.com/openjdk/jdk/blob/45726a1f8b8f76586037867a32b82f8ab9b96937/src/hotspot/cpu/arm/vm_version_arm.hpp#L103
[3] https://github.com/openjdk/jdk/blob/45726a1f8b8f76586037867a32b82f8ab9b96937/src/hotspot/cpu/arm/arm_32.ad#L280
Comments
Simplified test https://gist.github.com/MaxVerevkin/aaf3445e2acbf7edf45097d055b27838
25-08-2025