Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8366076

ARM32 Invalid registers allocated for vector instructions.

XMLWordPrintable

      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

            snazarki Sergey Nazarkin
            snazarki Sergey Nazarkin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: