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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 10
    • 8u172, 10
    • hotspot
    • b36
    • ppc
    • 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

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

                Dates

                  Created:
                  Updated:
                  Resolved: