summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-01-31 08:43:22 +0000
committerJakub Jelinek <jakub@redhat.com>2008-01-31 08:43:22 +0000
commita21d44637e4c53cce4760a2e2b13f0213c49a33d (patch)
treee28730f085cf343d98da117b41773940b365dd37 /nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
parent07b7d301cc62d3f4ff1bbaf668ddc2510f7a55d8 (diff)
Updated to fedora-glibc-20080131T0821cvs/fedora-glibc-2_7_90-4
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h b/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
index 76d22c88f9..c7028360f5 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
+++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -44,14 +44,16 @@
mov.l reg, mem; \
99: mov r1, r15
-#define XADD(reg, mem, old) \
+#define XADD(reg, mem, old, tmp) \
.align 2; \
mova 99f, r0; \
+ nop; \
mov r15, r1; \
- mov _IMM6, r15; \
+ mov _IMM8, r15; \
98: mov.l mem, old; \
- add old, reg; \
- mov.l reg, mem; \
+ mov reg, tmp; \
+ add old, tmp; \
+ mov.l tmp, mem; \
99: mov r1, r15
#define XCHG(reg, mem, old) \