Lines Matching refs:ptr

44 extern int32_t __attribute__((overloadable)) rsAtomicCas(volatile int32_t *ptr, int32_t expectedValue, int32_t newValue) {
45 return __sync_val_compare_and_swap(ptr, expectedValue, newValue);
48 extern uint32_t __attribute__((overloadable)) rsAtomicCas(volatile uint32_t *ptr, uint32_t expectedValue, uint32_t newValue) {
49 return __sync_val_compare_and_swap(ptr, expectedValue, newValue);
52 extern int32_t __attribute__((overloadable)) rsAtomicInc(volatile int32_t *ptr) {
53 return __sync_fetch_and_add(ptr, 1);
56 extern int32_t __attribute__((overloadable)) rsAtomicInc(volatile uint32_t *ptr) {
57 return __sync_fetch_and_add(ptr, 1);
60 extern int32_t __attribute__((overloadable)) rsAtomicDec(volatile int32_t *ptr) {
61 return __sync_fetch_and_sub(ptr, 1);
64 extern int32_t __attribute__((overloadable)) rsAtomicDec(volatile uint32_t *ptr) {
65 return __sync_fetch_and_sub(ptr, 1);
68 extern int32_t __attribute__((overloadable)) rsAtomicAdd(volatile int32_t *ptr, int32_t value) {
69 return __sync_fetch_and_add(ptr, value);
72 extern int32_t __attribute__((overloadable)) rsAtomicAdd(volatile uint32_t *ptr, uint32_t value) {
73 return __sync_fetch_and_add(ptr, value);
76 extern int32_t __attribute__((overloadable)) rsAtomicSub(volatile int32_t *ptr, int32_t value) {
77 return __sync_fetch_and_sub(ptr, value);
80 extern int32_t __attribute__((overloadable)) rsAtomicSub(volatile uint32_t *ptr, uint32_t value) {
81 return __sync_fetch_and_sub(ptr, value);
84 extern int32_t __attribute__((overloadable)) rsAtomicAnd(volatile int32_t *ptr, int32_t value) {
85 return __sync_fetch_and_and(ptr, value);
88 extern int32_t __attribute__((overloadable)) rsAtomicAnd(volatile uint32_t *ptr, uint32_t value) {
89 return __sync_fetch_and_and(ptr, value);
92 extern int32_t __attribute__((overloadable)) rsAtomicOr(volatile int32_t *ptr, int32_t value) {
93 return __sync_fetch_and_or(ptr, value);
96 extern int32_t __attribute__((overloadable)) rsAtomicOr(volatile uint32_t *ptr, uint32_t value) {
97 return __sync_fetch_and_or(ptr, value);
100 extern int32_t __attribute__((overloadable)) rsAtomicXor(volatile int32_t *ptr, int32_t value) {
101 return __sync_fetch_and_xor(ptr, value);
104 extern int32_t __attribute__((overloadable)) rsAtomicXor(volatile uint32_t *ptr, uint32_t value) {
105 return __sync_fetch_and_xor(ptr, value);
113 extern uint32_t __attribute__((overloadable)) rsAtomicMin(volatile uint32_t *ptr, uint32_t value) {
116 prev = *ptr;
118 status = __sync_val_compare_and_swap(ptr, prev, n);
123 extern int32_t __attribute__((overloadable)) rsAtomicMin(volatile int32_t *ptr, int32_t value) {
126 prev = *ptr;
128 status = __sync_val_compare_and_swap(ptr, prev, n);
133 extern uint32_t __attribute__((overloadable)) rsAtomicMax(volatile uint32_t *ptr, uint32_t value) {
136 prev = *ptr;
138 status = __sync_val_compare_and_swap(ptr, prev, n);
143 extern int32_t __attribute__((overloadable)) rsAtomicMax(volatile int32_t *ptr, int32_t value) {
146 prev = *ptr;
148 status = __sync_val_compare_and_swap(ptr, prev, n);