https://gcc.gnu.org/g:80d729c4b11f836c2b981bb34137a579f2d098f0
commit r16-4092-g80d729c4b11f836c2b981bb34137a579f2d098f0 Author: John David Anglin <dang...@gcc.gnu.org> Date: Thu Sep 25 10:49:39 2025 -0400 hppa: Fix asm in atomic_store_8 in sync-libfuncs.c Fix typo in the asm in atomic_store_8. Also correct floating point store. Reported by Nick Hudson for netbsd. 2025-09-25 John David Anglin <dang...@gcc.gnu.org> libgcc/ChangeLog: * config/pa/sync-libfuncs.c (atomic_store_8): Fix asm. Diff: --- libgcc/config/pa/sync-libfuncs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libgcc/config/pa/sync-libfuncs.c b/libgcc/config/pa/sync-libfuncs.c index 774c1605572b..28d08caeb6c1 100644 --- a/libgcc/config/pa/sync-libfuncs.c +++ b/libgcc/config/pa/sync-libfuncs.c @@ -133,11 +133,11 @@ atomic_store_8 (volatile void *ptr, u64 value) { double tmp; - asm volatile ("stws|stw} %2,-16(%%sp)\n\t" - "{stws|stw} %R2,-12(%%sp)\n\t" - "{fldds|fldd} -16(%%sp),%1\n\t" - "{fstds|fstd} %1,0(%0)" - : "=m" (ptr), "=&f" (tmp) : "r" (value): "memory"); + asm volatile ("{stws|stw} %1,-16(%%sp)\n\t" + "{stws|stw} %R1,-12(%%sp)\n\t" + "{fldds|fldd} -16(%%sp),%0\n\t" + : "=f" (tmp) : "r" (value): "memory"); + *(volatile double *)ptr = tmp; } #endif