diff options
Diffstat (limited to 'arch/mips/include/asm/cmpxchg.h')
-rw-r--r-- | arch/mips/include/asm/cmpxchg.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h index 466069bd8465..eefcaa363a87 100644 --- a/arch/mips/include/asm/cmpxchg.h +++ b/arch/mips/include/asm/cmpxchg.h | |||
@@ -22,11 +22,11 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | |||
22 | unsigned long dummy; | 22 | unsigned long dummy; |
23 | 23 | ||
24 | __asm__ __volatile__( | 24 | __asm__ __volatile__( |
25 | " .set mips3 \n" | 25 | " .set arch=r4000 \n" |
26 | "1: ll %0, %3 # xchg_u32 \n" | 26 | "1: ll %0, %3 # xchg_u32 \n" |
27 | " .set mips0 \n" | 27 | " .set mips0 \n" |
28 | " move %2, %z4 \n" | 28 | " move %2, %z4 \n" |
29 | " .set mips3 \n" | 29 | " .set arch=r4000 \n" |
30 | " sc %2, %1 \n" | 30 | " sc %2, %1 \n" |
31 | " beqzl %2, 1b \n" | 31 | " beqzl %2, 1b \n" |
32 | " .set mips0 \n" | 32 | " .set mips0 \n" |
@@ -38,11 +38,11 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | |||
38 | 38 | ||
39 | do { | 39 | do { |
40 | __asm__ __volatile__( | 40 | __asm__ __volatile__( |
41 | " .set mips3 \n" | 41 | " .set arch=r4000 \n" |
42 | " ll %0, %3 # xchg_u32 \n" | 42 | " ll %0, %3 # xchg_u32 \n" |
43 | " .set mips0 \n" | 43 | " .set mips0 \n" |
44 | " move %2, %z4 \n" | 44 | " move %2, %z4 \n" |
45 | " .set mips3 \n" | 45 | " .set arch=r4000 \n" |
46 | " sc %2, %1 \n" | 46 | " sc %2, %1 \n" |
47 | " .set mips0 \n" | 47 | " .set mips0 \n" |
48 | : "=&r" (retval), "=m" (*m), "=&r" (dummy) | 48 | : "=&r" (retval), "=m" (*m), "=&r" (dummy) |
@@ -74,7 +74,7 @@ static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val) | |||
74 | unsigned long dummy; | 74 | unsigned long dummy; |
75 | 75 | ||
76 | __asm__ __volatile__( | 76 | __asm__ __volatile__( |
77 | " .set mips3 \n" | 77 | " .set arch=r4000 \n" |
78 | "1: lld %0, %3 # xchg_u64 \n" | 78 | "1: lld %0, %3 # xchg_u64 \n" |
79 | " move %2, %z4 \n" | 79 | " move %2, %z4 \n" |
80 | " scd %2, %1 \n" | 80 | " scd %2, %1 \n" |
@@ -88,7 +88,7 @@ static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val) | |||
88 | 88 | ||
89 | do { | 89 | do { |
90 | __asm__ __volatile__( | 90 | __asm__ __volatile__( |
91 | " .set mips3 \n" | 91 | " .set arch=r4000 \n" |
92 | " lld %0, %3 # xchg_u64 \n" | 92 | " lld %0, %3 # xchg_u64 \n" |
93 | " move %2, %z4 \n" | 93 | " move %2, %z4 \n" |
94 | " scd %2, %1 \n" | 94 | " scd %2, %1 \n" |
@@ -145,12 +145,12 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz | |||
145 | __asm__ __volatile__( \ | 145 | __asm__ __volatile__( \ |
146 | " .set push \n" \ | 146 | " .set push \n" \ |
147 | " .set noat \n" \ | 147 | " .set noat \n" \ |
148 | " .set mips3 \n" \ | 148 | " .set arch=r4000 \n" \ |
149 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ | 149 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ |
150 | " bne %0, %z3, 2f \n" \ | 150 | " bne %0, %z3, 2f \n" \ |
151 | " .set mips0 \n" \ | 151 | " .set mips0 \n" \ |
152 | " move $1, %z4 \n" \ | 152 | " move $1, %z4 \n" \ |
153 | " .set mips3 \n" \ | 153 | " .set arch=r4000 \n" \ |
154 | " " st " $1, %1 \n" \ | 154 | " " st " $1, %1 \n" \ |
155 | " beqzl $1, 1b \n" \ | 155 | " beqzl $1, 1b \n" \ |
156 | "2: \n" \ | 156 | "2: \n" \ |
@@ -162,12 +162,12 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz | |||
162 | __asm__ __volatile__( \ | 162 | __asm__ __volatile__( \ |
163 | " .set push \n" \ | 163 | " .set push \n" \ |
164 | " .set noat \n" \ | 164 | " .set noat \n" \ |
165 | " .set mips3 \n" \ | 165 | " .set arch=r4000 \n" \ |
166 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ | 166 | "1: " ld " %0, %2 # __cmpxchg_asm \n" \ |
167 | " bne %0, %z3, 2f \n" \ | 167 | " bne %0, %z3, 2f \n" \ |
168 | " .set mips0 \n" \ | 168 | " .set mips0 \n" \ |
169 | " move $1, %z4 \n" \ | 169 | " move $1, %z4 \n" \ |
170 | " .set mips3 \n" \ | 170 | " .set arch=r4000 \n" \ |
171 | " " st " $1, %1 \n" \ | 171 | " " st " $1, %1 \n" \ |
172 | " beqz $1, 1b \n" \ | 172 | " beqz $1, 1b \n" \ |
173 | " .set pop \n" \ | 173 | " .set pop \n" \ |