8185723: Zero: segfaults on Power PC 32-bit

Reviewed-by: roland
This commit is contained in:
Andrew Haley 2017-08-02 17:22:40 +01:00
parent 05b7ad669e
commit 9aeb6a85b5

View File

@ -38,10 +38,10 @@
static void atomic_copy64(const volatile void *src, volatile void *dst) {
#if defined(PPC32)
double tmp;
asm volatile ("lfd %0, 0(%1)\n"
"stfd %0, 0(%2)\n"
: "=f"(tmp)
: "b"(src), "b"(dst));
asm volatile ("lfd %0, %2\n"
"stfd %0, %1\n"
: "=&f"(tmp), "=Q"(*(volatile double*)dst)
: "Q"(*(volatile double*)src));
#elif defined(S390) && !defined(_LP64)
double tmp;
asm volatile ("ld %0, 0(%1)\n"