Lines Matching refs:ptr
37 extern int32_t __attribute__((overloadable)) rsAtomicCas(volatile int32_t *ptr, int32_t expectedValue, int32_t newValue) {
38 return __sync_val_compare_and_swap(ptr, expectedValue, newValue);
41 extern uint32_t __attribute__((overloadable)) rsAtomicCas(volatile uint32_t *ptr, uint32_t expectedValue, uint32_t newValue) {
42 return __sync_val_compare_and_swap(ptr, expectedValue, newValue);
45 extern int32_t __attribute__((overloadable)) rsAtomicInc(volatile int32_t *ptr) {
46 return __sync_fetch_and_add(ptr, 1);
49 extern int32_t __attribute__((overloadable)) rsAtomicInc(volatile uint32_t *ptr) {
50 return __sync_fetch_and_add(ptr, 1);
53 extern int32_t __attribute__((overloadable)) rsAtomicDec(volatile int32_t *ptr) {
54 return __sync_fetch_and_sub(ptr, 1);
57 extern int32_t __attribute__((overloadable)) rsAtomicDec(volatile uint32_t *ptr) {
58 return __sync_fetch_and_sub(ptr, 1);
61 extern int32_t __attribute__((overloadable)) rsAtomicAdd(volatile int32_t *ptr, int32_t value) {
62 return __sync_fetch_and_add(ptr, value);
65 extern int32_t __attribute__((overloadable)) rsAtomicAdd(volatile uint32_t *ptr, uint32_t value) {
66 return __sync_fetch_and_add(ptr, value);
69 extern int32_t __attribute__((overloadable)) rsAtomicSub(volatile int32_t *ptr, int32_t value) {
70 return __sync_fetch_and_sub(ptr, value);
73 extern int32_t __attribute__((overloadable)) rsAtomicSub(volatile uint32_t *ptr, uint32_t value) {
74 return __sync_fetch_and_sub(ptr, value);
77 extern int32_t __attribute__((overloadable)) rsAtomicAnd(volatile int32_t *ptr, int32_t value) {
78 return __sync_fetch_and_and(ptr, value);
81 extern int32_t __attribute__((overloadable)) rsAtomicAnd(volatile uint32_t *ptr, uint32_t value) {
82 return __sync_fetch_and_and(ptr, value);
85 extern int32_t __attribute__((overloadable)) rsAtomicOr(volatile int32_t *ptr, int32_t value) {
86 return __sync_fetch_and_or(ptr, value);
89 extern int32_t __attribute__((overloadable)) rsAtomicOr(volatile uint32_t *ptr, uint32_t value) {
90 return __sync_fetch_and_or(ptr, value);
93 extern int32_t __attribute__((overloadable)) rsAtomicXor(volatile int32_t *ptr, int32_t value) {
94 return __sync_fetch_and_xor(ptr, value);
97 extern int32_t __attribute__((overloadable)) rsAtomicXor(volatile uint32_t *ptr, uint32_t value) {
98 return __sync_fetch_and_xor(ptr, value);
106 extern uint32_t __attribute__((overloadable)) rsAtomicMin(volatile uint32_t *ptr, uint32_t value) {
109 prev = *ptr;
111 status = __sync_val_compare_and_swap(ptr, prev, n);
116 extern int32_t __attribute__((overloadable)) rsAtomicMin(volatile int32_t *ptr, int32_t value) {
119 prev = *ptr;
121 status = __sync_val_compare_and_swap(ptr, prev, n);
126 extern uint32_t __attribute__((overloadable)) rsAtomicMax(volatile uint32_t *ptr, uint32_t value) {
129 prev = *ptr;
131 status = __sync_val_compare_and_swap(ptr, prev, n);
136 extern int32_t __attribute__((overloadable)) rsAtomicMax(volatile int32_t *ptr, int32_t value) {
139 prev = *ptr;
141 status = __sync_val_compare_and_swap(ptr, prev, n);