diff options
Diffstat (limited to 'arch/sh/include/asm/cmpxchg-grb.h')
-rw-r--r-- | arch/sh/include/asm/cmpxchg-grb.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/sh/include/asm/cmpxchg-grb.h b/arch/sh/include/asm/cmpxchg-grb.h index e2681abe764f..4676bf57693a 100644 --- a/arch/sh/include/asm/cmpxchg-grb.h +++ b/arch/sh/include/asm/cmpxchg-grb.h | |||
@@ -57,11 +57,10 @@ static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned long old, | |||
57 | " mov.l @%1, %0 \n\t" /* load old value */ | 57 | " mov.l @%1, %0 \n\t" /* load old value */ |
58 | " cmp/eq %0, %2 \n\t" | 58 | " cmp/eq %0, %2 \n\t" |
59 | " bf 1f \n\t" /* if not equal */ | 59 | " bf 1f \n\t" /* if not equal */ |
60 | " mov.l %2, @%1 \n\t" /* store new value */ | 60 | " mov.l %3, @%1 \n\t" /* store new value */ |
61 | "1: mov r1, r15 \n\t" /* LOGOUT */ | 61 | "1: mov r1, r15 \n\t" /* LOGOUT */ |
62 | : "=&r" (retval), | 62 | : "=&r" (retval) |
63 | "+r" (m) | 63 | : "r" (m), "r" (old), "r" (new) |
64 | : "r" (new) | ||
65 | : "memory" , "r0", "r1", "t"); | 64 | : "memory" , "r0", "r1", "t"); |
66 | 65 | ||
67 | return retval; | 66 | return retval; |