Lines Matching full:old
50 op_type old; \
53 op_string " %[old],%[val],%[ptr]\n" \
55 : [old] "=d" (old), [ptr] "+QS" (*ptr) \
57 return old; \
101 int old, new; \
104 "0: lr %[new],%[old]\n" \
106 " cs %[old],%[new],%[ptr]\n" \
108 : [old] "=d" (old), [new] "=&d" (new), [ptr] "+Q" (*ptr)\
110 return old; \
127 long old, new; \
130 "0: lgr %[new],%[old]\n" \
132 " csg %[old],%[new],%[ptr]\n" \
134 : [old] "=d" (old), [new] "=&d" (new), [ptr] "+QS" (*ptr)\
136 return old; \
157 static inline int __atomic_cmpxchg(int *ptr, int old, int new) in __atomic_cmpxchg() argument
160 " cs %[old],%[new],%[ptr]" in __atomic_cmpxchg()
161 : [old] "+d" (old), [ptr] "+Q" (*ptr) in __atomic_cmpxchg()
164 return old; in __atomic_cmpxchg()
167 static inline bool __atomic_cmpxchg_bool(int *ptr, int old, int new) in __atomic_cmpxchg_bool() argument
169 int old_expected = old; in __atomic_cmpxchg_bool()
172 " cs %[old],%[new],%[ptr]" in __atomic_cmpxchg_bool()
173 : [old] "+d" (old), [ptr] "+Q" (*ptr) in __atomic_cmpxchg_bool()
176 return old == old_expected; in __atomic_cmpxchg_bool()
179 static inline long __atomic64_cmpxchg(long *ptr, long old, long new) in __atomic64_cmpxchg() argument
182 " csg %[old],%[new],%[ptr]" in __atomic64_cmpxchg()
183 : [old] "+d" (old), [ptr] "+QS" (*ptr) in __atomic64_cmpxchg()
186 return old; in __atomic64_cmpxchg()
189 static inline bool __atomic64_cmpxchg_bool(long *ptr, long old, long new) in __atomic64_cmpxchg_bool() argument
191 long old_expected = old; in __atomic64_cmpxchg_bool()
194 " csg %[old],%[new],%[ptr]" in __atomic64_cmpxchg_bool()
195 : [old] "+d" (old), [ptr] "+QS" (*ptr) in __atomic64_cmpxchg_bool()
198 return old == old_expected; in __atomic64_cmpxchg_bool()