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

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 10
    • 8u172, 10
    • hotspot
    • b36
    • ppc
    • linux

        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.

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

                Created:
                Updated:
                Resolved: