Lines Matching refs:ptr
51 int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
53 int32_t value = *ptr;
59 int32_t android_atomic_release_load(volatile const int32_t *ptr)
62 return *ptr;
66 void android_atomic_acquire_store(int32_t value, volatile int32_t *ptr)
68 *ptr = value;
73 void android_atomic_release_store(int32_t value, volatile int32_t *ptr)
76 *ptr = value;
81 volatile int32_t *ptr)
86 : "q" (new_value), "m" (*ptr), "0" (old_value)
93 volatile int32_t *ptr)
96 return android_atomic_cas(old_value, new_value, ptr);
101 volatile int32_t *ptr)
104 return android_atomic_cas(old_value, new_value, ptr);
108 int32_t android_atomic_add(int32_t increment, volatile int32_t *ptr)
111 : "+r" (increment), "+m" (*ptr)
113 /* increment now holds the old value of *ptr */
130 int32_t android_atomic_and(int32_t value, volatile int32_t *ptr)
134 prev = *ptr;
135 status = android_atomic_cas(prev, prev & value, ptr);
141 int32_t android_atomic_or(int32_t value, volatile int32_t *ptr)
145 prev = *ptr;
146 status = android_atomic_cas(prev, prev | value, ptr);