aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/sysdep.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/sysdep.h
index 6b99464..2f31f91 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sysdep.h
@@ -56,7 +56,9 @@
"0:" \
: "+r" (r0), "+r" (r3), "+r" (r4), "+r" (r5), "+r" (r6), \
"+r" (r7), "+r" (r8) \
- : : "r9", "r10", "r11", "r12", "cr0", "ctr", "lr", "memory"); \
+ : : "r9", "r10", "r11", "r12", \
+ "cr0", "cr1", "cr5", "cr6", "cr7", \
+ "xer", "lr", "ctr", "memory"); \
__asm__ __volatile__ ("" : "=r" (rval) : "r" (r3)); \
(long int) r0 & (1 << 28) ? -rval : rval; \
})
@@ -86,7 +88,8 @@
"=&r" (r6), "=&r" (r7), "=&r" (r8) \
: ASM_INPUT_##nr \
: "r9", "r10", "r11", "r12", \
- "lr", "ctr", "memory"); \
+ "cr0", "cr1", "cr5", "cr6", "cr7", \
+ "xer", "lr", "ctr", "memory"); \
r3; \
})
@@ -101,7 +104,7 @@
"=&r" (r6), "=&r" (r7), "=&r" (r8) \
: ASM_INPUT_##nr \
: "r9", "r10", "r11", "r12", \
- "cr0", "ctr", "memory"); \
+ "xer", "cr0", "ctr", "memory"); \
r0 & (1 << 28) ? -r3 : r3; \
})