about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2015-03-13 18:21:55 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2015-03-14 22:27:36 +0100
commita3905fd9de77ffce9d2b6042b512b1816d90a3d2 (patch)
treead219d2b9b2e63e160525f14c742063be1e07691 /sysdeps
parent2ecccaede9097f867284d352a881d8f226ba4fb7 (diff)
downloadglibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.tar.gz
glibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.tar.xz
glibc-a3905fd9de77ffce9d2b6042b512b1816d90a3d2.zip
m68k: fix 64-bit arithmetic in atomic operations (bug 18128)
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/m68k/m680x0/m68020/bits/atomic.h16
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"					      \