diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2015-03-13 18:21:55 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2015-03-14 22:27:36 +0100 |
commit | a3905fd9de77ffce9d2b6042b512b1816d90a3d2 (patch) | |
tree | ad219d2b9b2e63e160525f14c742063be1e07691 /sysdeps/m68k/m680x0/m68020 | |
parent | 2ecccaede9097f867284d352a881d8f226ba4fb7 (diff) | |
download | glibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.tar.gz glibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.tar.xz glibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.zip |
m68k: fix 64-bit arithmetic in atomic operations (bug 18128)
Diffstat (limited to 'sysdeps/m68k/m680x0/m68020')
-rw-r--r-- | sysdeps/m68k/m680x0/m68020/bits/atomic.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sysdeps/m68k/m680x0/m68020/bits/atomic.h b/sysdeps/m68k/m680x0/m68020/bits/atomic.h index 2038037ee4..9a29022af9 100644 --- a/sysdeps/m68k/m680x0/m68020/bits/atomic.h +++ b/sysdeps/m68k/m680x0/m68020/bits/atomic.h @@ -139,8 +139,8 @@ typedef uintmax_t uatomic_max_t; __typeof (mem) __memp = (mem); \ __asm __volatile ("1: move%.l %0,%1;" \ " move%.l %R0,%R1;" \ - " add%.l %2,%1;" \ - " addx%.l %R2,%R1;" \ + " add%.l %R2,%R1;" \ + " addx%.l %2,%1;" \ " cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \ " jbne 1b" \ : "=d" (__result), "=&d" (__temp) \ @@ -170,8 +170,8 @@ typedef uintmax_t uatomic_max_t; __typeof (*(mem)) __temp; \ __asm __volatile ("1: move%.l %0,%1;" \ " move%.l %R0,%R1;" \ - " add%.l %2,%1;" \ - " addx%.l %R2,%R1;" \ + " add%.l %R2,%R1;" \ + " addx%.l %2,%1;" \ " cas2%.l %0:%R0,%1:%R1,(%3):(%4);" \ " jbne 1b" \ : "=d" (__oldval), "=&d" (__temp) \ @@ -199,8 +199,8 @@ typedef uintmax_t uatomic_max_t; __typeof (*(mem)) __temp; \ __asm __volatile ("1: move%.l %1,%2;" \ " move%.l %R1,%R2;" \ - " addq%.l %#1,%2;" \ - " addx%.l %5,%R2;" \ + " addq%.l %#1,%R2;" \ + " addx%.l %5,%2;" \ " seq %0;" \ " cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \ " jbne 1b" \ @@ -230,8 +230,8 @@ typedef uintmax_t uatomic_max_t; __typeof (*(mem)) __temp; \ __asm __volatile ("1: move%.l %1,%2;" \ " move%.l %R1,%R2;" \ - " subq%.l %#1,%2;" \ - " subx%.l %5,%R2;" \ + " subq%.l %#1,%R2;" \ + " subx%.l %5,%2;" \ " seq %0;" \ " cas2%.l %1:%R1,%2:%R2,(%3):(%4);" \ " jbne 1b" \ |