Lines Matching full:old

65 	op_type old;							\
68 op_string " %[old],%[val],%[ptr]\n" \
70 : [old] "=d" (old), [ptr] "+QS" (*ptr) \
72 return old; \
116 int old, new; \
119 "0: lr %[new],%[old]\n" \
121 " cs %[old],%[new],%[ptr]\n" \
123 : [old] "=d" (old), [new] "=&d" (new), [ptr] "+Q" (*ptr)\
125 return old; \
142 long old, new; \
145 "0: lgr %[new],%[old]\n" \
147 " csg %[old],%[new],%[ptr]\n" \
149 : [old] "=d" (old), [new] "=&d" (new), [ptr] "+QS" (*ptr)\
151 return old; \
172 static __always_inline int __atomic_cmpxchg(int *ptr, int old, int new) in __atomic_cmpxchg() argument
175 " cs %[old],%[new],%[ptr]" in __atomic_cmpxchg()
176 : [old] "+d" (old), [ptr] "+Q" (*ptr) in __atomic_cmpxchg()
179 return old; in __atomic_cmpxchg()
182 static __always_inline long __atomic64_cmpxchg(long *ptr, long old, long new) in __atomic64_cmpxchg() argument
185 " csg %[old],%[new],%[ptr]" in __atomic64_cmpxchg()
186 : [old] "+d" (old), [ptr] "+QS" (*ptr) in __atomic64_cmpxchg()
189 return old; in __atomic64_cmpxchg()
195 static __always_inline bool __atomic_cmpxchg_bool(int *ptr, int old, int new) in __atomic_cmpxchg_bool() argument
200 " cs %[old],%[new],%[ptr]" in __atomic_cmpxchg_bool()
201 : [old] "+d" (old), [ptr] "+Q" (*ptr), "=@cc" (cc) in __atomic_cmpxchg_bool()
207 static __always_inline bool __atomic64_cmpxchg_bool(long *ptr, long old, long new) in __atomic64_cmpxchg_bool() argument
212 " csg %[old],%[new],%[ptr]" in __atomic64_cmpxchg_bool()
213 : [old] "+d" (old), [ptr] "+QS" (*ptr), "=@cc" (cc) in __atomic64_cmpxchg_bool()
221 static __always_inline bool __atomic_cmpxchg_bool(int *ptr, int old, int new) in __atomic_cmpxchg_bool() argument
223 int old_expected = old; in __atomic_cmpxchg_bool()
226 " cs %[old],%[new],%[ptr]" in __atomic_cmpxchg_bool()
227 : [old] "+d" (old), [ptr] "+Q" (*ptr) in __atomic_cmpxchg_bool()
230 return old == old_expected; in __atomic_cmpxchg_bool()
233 static __always_inline bool __atomic64_cmpxchg_bool(long *ptr, long old, long new) in __atomic64_cmpxchg_bool() argument
235 long old_expected = old; in __atomic64_cmpxchg_bool()
238 " csg %[old],%[new],%[ptr]" in __atomic64_cmpxchg_bool()
239 : [old] "+d" (old), [ptr] "+QS" (*ptr) in __atomic64_cmpxchg_bool()
242 return old == old_expected; in __atomic64_cmpxchg_bool()