Lines Matching refs:ptr
52 extern inline int32_t android_atomic_acquire_load(volatile const int32_t *ptr) in android_atomic_acquire_load() argument
54 int32_t value = *ptr; in android_atomic_acquire_load()
59 extern inline int32_t android_atomic_release_load(volatile const int32_t *ptr) in android_atomic_release_load() argument
62 return *ptr; in android_atomic_release_load()
66 volatile int32_t *ptr) in android_atomic_acquire_store() argument
68 *ptr = value; in android_atomic_acquire_store()
73 volatile int32_t *ptr) in android_atomic_release_store() argument
76 *ptr = value; in android_atomic_release_store()
81 volatile int32_t *ptr);
84 volatile int32_t *ptr) in android_atomic_cas() argument
92 : "=&r" (prev), "=&r" (status), "+m"(*ptr) in android_atomic_cas()
93 : "r" (ptr), "Ir" (old_value), "r" (new_value) in android_atomic_cas()
100 volatile int32_t *ptr) in android_atomic_cas() argument
104 prev = *ptr; in android_atomic_cas()
106 status = (*(kuser_cmpxchg *)0xffff0fc0)(old_value, new_value, ptr); in android_atomic_cas()
109 prev = *ptr; in android_atomic_cas()
117 volatile int32_t *ptr) in android_atomic_acquire_cas() argument
119 int status = android_atomic_cas(old_value, new_value, ptr); in android_atomic_acquire_cas()
126 volatile int32_t *ptr) in android_atomic_release_cas() argument
129 return android_atomic_cas(old_value, new_value, ptr); in android_atomic_release_cas()
135 volatile int32_t *ptr);
138 volatile int32_t *ptr) in android_atomic_swap() argument
144 : "=&r" (prev), "=&r" (status), "+m" (*ptr) in android_atomic_swap()
145 : "r" (ptr), "r" (new_value) in android_atomic_swap()
153 volatile int32_t *ptr) in android_atomic_swap() argument
157 : "=&r" (prev), "+m" (*ptr) in android_atomic_swap()
158 : "r" (new_value), "r" (ptr) in android_atomic_swap()
167 volatile int32_t *ptr);
170 volatile int32_t *ptr) in android_atomic_add() argument
179 "=&r" (status), "+m" (*ptr) in android_atomic_add()
180 : "r" (ptr), "Ir" (increment) in android_atomic_add()
187 volatile int32_t *ptr) in android_atomic_add() argument
192 prev = *ptr; in android_atomic_add()
193 status = android_atomic_cas(prev, prev + increment, ptr); in android_atomic_add()
210 extern int32_t android_atomic_and(int32_t value, volatile int32_t *ptr);
212 extern inline int32_t android_atomic_and(int32_t value, volatile int32_t *ptr) in android_atomic_and() argument
221 "=&r" (status), "+m" (*ptr) in android_atomic_and()
222 : "r" (ptr), "Ir" (value) in android_atomic_and()
228 extern inline int32_t android_atomic_and(int32_t value, volatile int32_t *ptr) in android_atomic_and() argument
233 prev = *ptr; in android_atomic_and()
234 status = android_atomic_cas(prev, prev & value, ptr); in android_atomic_and()
241 extern int32_t android_atomic_or(int32_t value, volatile int32_t *ptr);
243 extern inline int32_t android_atomic_or(int32_t value, volatile int32_t *ptr) in android_atomic_or() argument
252 "=&r" (status), "+m" (*ptr) in android_atomic_or()
253 : "r" (ptr), "Ir" (value) in android_atomic_or()
259 extern inline int32_t android_atomic_or(int32_t value, volatile int32_t *ptr) in android_atomic_or() argument
264 prev = *ptr; in android_atomic_or()
265 status = android_atomic_cas(prev, prev | value, ptr); in android_atomic_or()