Lines Matching refs:dstAddr
36 * \param dstAddr Destination address.
39 DE_INLINE deInt32 deAtomicIncrementInt32 (volatile deInt32* dstAddr)
42 return _InterlockedIncrement((long volatile*)dstAddr);
44 return __sync_add_and_fetch(dstAddr, 1);
52 * \param dstAddr Destination address.
55 DE_INLINE deUint32 deAtomicIncrementUint32 (volatile deUint32* dstAddr)
57 return deAtomicIncrementInt32((deInt32 volatile*)dstAddr);
62 * \param dstAddr Destination address.
65 DE_INLINE deInt32 deAtomicDecrementInt32 (volatile deInt32* dstAddr)
68 return _InterlockedDecrement((volatile long*)dstAddr);
70 return __sync_sub_and_fetch(dstAddr, 1);
78 * \param dstAddr Destination address.
81 DE_INLINE deUint32 deAtomicDecrementUint32 (volatile deUint32* dstAddr)
83 return deAtomicDecrementInt32((volatile deInt32*)dstAddr);
88 * \param dstAddr Destination address.
91 * \return compare value if CAS passes, *dstAddr value otherwise
98 * dstAddr is returned.
100 DE_INLINE deUint32 deAtomicCompareExchangeUint32 (volatile deUint32* dstAddr, deUint32 compare, deUint32 exchange)
103 return _InterlockedCompareExchange((volatile long*)dstAddr, exchange, compare);
105 return __sync_val_compare_and_swap(dstAddr, compare, exchange);
120 * \param dstAddr Destination address.
123 DE_INLINE deInt64 deAtomicIncrementInt64 (volatile deInt64* dstAddr)
126 return _InterlockedIncrement64((volatile long long*)dstAddr);
128 return __sync_add_and_fetch(dstAddr, 1);
136 * \param dstAddr Destination address.
139 DE_INLINE deUint64 deAtomicIncrementUint64 (volatile deUint64* dstAddr)
141 return deAtomicIncrementInt64((volatile deInt64*)dstAddr);
146 * \param dstAddr Destination address.
149 DE_INLINE deInt64 deAtomicDecrementInt64 (volatile deInt64* dstAddr)
152 return _InterlockedDecrement64((volatile long long*)dstAddr);
154 return __sync_sub_and_fetch(dstAddr, 1);
162 * \param dstAddr Destination address.
165 DE_INLINE deUint64 deAtomicDecrementUint64 (volatile deUint64* dstAddr)
167 return deAtomicDecrementInt64((volatile deInt64*)dstAddr);
172 * \param dstAddr Destination address.
175 * \return compare value if CAS passes, *dstAddr value otherwise
182 * dstAddr is returned.
184 DE_INLINE deUint64 deAtomicCompareExchangeUint64 (volatile deUint64* dstAddr, deUint64 compare, deUint64 exchange)
187 return _InterlockedCompareExchange64((volatile long long*)dstAddr, exchange, compare);
189 return __sync_val_compare_and_swap(dstAddr, compare, exchange);
199 * \param dstAddr Destination address.
215 * \param dstAddr Destination address.
231 * \param dstAddr Destination address.
234 * \return compare value if CAS passes, *dstAddr value otherwise
241 * dstAddr is returned.
243 DE_INLINE void* deAtomicCompareExchangePtr (void* volatile* dstAddr, void* compare, void* exchange)
246 return (void*)deAtomicCompareExchangeUint64((volatile deUint64*)dstAddr, (deUint64)compare, (deUint64)exchange);
248 return (void*)deAtomicCompareExchangeUint32((volatile deUint32*)dstAddr, (deUint32)compare, (deUint32)exchange);