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

Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8u172, 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b36
    • CPU:
      ppc
    • OS:
      linux

      Backports

        Description

        There are 32-Bit PowerPC machines (e.g. PowerPC e500) running Linux which do not have an FPU and therefore do not support any FPU instructions.

        Zero contains an implementation of atomic_copy64() which unconditionally emits FPU instructions for the atomic copy on PPC32 systems. This means, zero will fail to build on the aforementioned systems as the assembler does not understand any PPC32 FPU instructions.

        On any PowerPC machine which falls under this category, gcc will define the symbol __NO_FPRS__ which can be used to detect such a system:

        root@atlantis:~> echo | gcc -E -dM - |grep -i FPR
        #define __NO_FPRS__ 1
        root@atlantis:~>

        The attached patch makes use of that by disabling the FPU instructions on the affected systems.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  glaubitz John Paul Adrian Glaubitz
                  Reporter:
                  glaubitz John Paul Adrian Glaubitz
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: