aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-09-12 12:49:24 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-12 13:50:57 -0400
commita2d236b3ac8fcbbf1bae7d815294d258ba24e3f5 (patch)
tree233b4d6dc1b4ae39eb3c4c5db3591503cf90768d
parent1a426cb76443f5b0a021a9df57d3446d14763c21 (diff)
[PATCH] x86-64: Lose constraints on cmpxchg
While only cosmetic for x86-64, this adjusts the cmpxchg code appearantly inherited from i386 to use more generic constraints. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/asm-x86_64/system.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h
index d65381194bda..85348e02ad2e 100644
--- a/include/asm-x86_64/system.h
+++ b/include/asm-x86_64/system.h
@@ -253,19 +253,19 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
253 case 2: 253 case 2:
254 __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2" 254 __asm__ __volatile__(LOCK_PREFIX "cmpxchgw %w1,%2"
255 : "=a"(prev) 255 : "=a"(prev)
256 : "q"(new), "m"(*__xg(ptr)), "0"(old) 256 : "r"(new), "m"(*__xg(ptr)), "0"(old)
257 : "memory"); 257 : "memory");
258 return prev; 258 return prev;
259 case 4: 259 case 4:
260 __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %k1,%2" 260 __asm__ __volatile__(LOCK_PREFIX "cmpxchgl %k1,%2"
261 : "=a"(prev) 261 : "=a"(prev)
262 : "q"(new), "m"(*__xg(ptr)), "0"(old) 262 : "r"(new), "m"(*__xg(ptr)), "0"(old)
263 : "memory"); 263 : "memory");
264 return prev; 264 return prev;
265 case 8: 265 case 8:
266 __asm__ __volatile__(LOCK_PREFIX "cmpxchgq %1,%2" 266 __asm__ __volatile__(LOCK_PREFIX "cmpxchgq %1,%2"
267 : "=a"(prev) 267 : "=a"(prev)
268 : "q"(new), "m"(*__xg(ptr)), "0"(old) 268 : "r"(new), "m"(*__xg(ptr)), "0"(old)
269 : "memory"); 269 : "memory");
270 return prev; 270 return prev;
271 } 271 }