Lines Matching defs:ptr
52 android_atomic_acquire_load(volatile const int32_t *ptr)
54 int32_t value = *ptr;
60 android_atomic_release_load(volatile const int32_t *ptr)
63 return *ptr;
67 android_atomic_acquire_store(int32_t value, volatile int32_t *ptr)
69 *ptr = value;
74 android_atomic_release_store(int32_t value, volatile int32_t *ptr)
77 *ptr = value;
81 android_atomic_cas(int32_t old_value, int32_t new_value, volatile int32_t *ptr)
86 " ll %[prev], (%[ptr])\n"
90 " sc %[status], (%[ptr])\n"
93 : [ptr] "r" (ptr), [old] "r" (old_value), [new_value] "r" (new_value)
102 volatile int32_t *ptr)
104 int status = android_atomic_cas(old_value, new_value, ptr);
112 volatile int32_t *ptr)
115 return android_atomic_cas(old_value, new_value, ptr);
120 android_atomic_swap(int32_t new_value, volatile int32_t *ptr)
126 " ll %[prev], (%[ptr])\n"
127 " sc %[status], (%[ptr])\n"
129 : [ptr] "r" (ptr), [new_value] "r" (new_value)
137 android_atomic_add(int32_t increment, volatile int32_t *ptr)
143 " ll %[prev], (%[ptr])\n"
145 " sc %[status], (%[ptr])\n"
147 : [ptr] "r" (ptr), [inc] "Ir" (increment)
166 android_atomic_and(int32_t value, volatile int32_t *ptr)
172 " ll %[prev], (%[ptr])\n"
174 " sc %[status], (%[ptr])\n"
176 : [ptr] "r" (ptr), [value] "Ir" (value)
183 android_atomic_or(int32_t value, volatile int32_t *ptr)
189 " ll %[prev], (%[ptr])\n"
191 " sc %[status], (%[ptr])\n"
193 : [ptr] "r" (ptr), [value] "Ir" (value)