Lines Matching defs:A

63 inline typename T::Type atomic_load(const volatile T *A, memory_order MO) {
64 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
66 __atomic_load(&A->ValDoNotUse, &V, MO);
71 inline void atomic_store(volatile T *A, typename T::Type V, memory_order MO) {
72 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
73 __atomic_store(&A->ValDoNotUse, &V, MO);
79 inline typename T::Type atomic_fetch_add(volatile T *A, typename T::Type V,
81 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
82 return __atomic_fetch_add(&A->ValDoNotUse, V, MO);
86 inline typename T::Type atomic_fetch_sub(volatile T *A, typename T::Type V,
88 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
89 return __atomic_fetch_sub(&A->ValDoNotUse, V, MO);
93 inline typename T::Type atomic_fetch_and(volatile T *A, typename T::Type V,
95 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
96 return __atomic_fetch_and(&A->ValDoNotUse, V, MO);
100 inline typename T::Type atomic_fetch_or(volatile T *A, typename T::Type V,
102 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
103 return __atomic_fetch_or(&A->ValDoNotUse, V, MO);
107 inline typename T::Type atomic_exchange(volatile T *A, typename T::Type V,
109 DCHECK(!(reinterpret_cast<uptr>(A) % sizeof(*A)));
111 __atomic_exchange(&A->ValDoNotUse, &V, &R, MO);
116 inline bool atomic_compare_exchange_strong(volatile T *A, typename T::Type *Cmp,
119 return __atomic_compare_exchange(&A->ValDoNotUse, Cmp, &Xchg, false, MO,
126 inline typename T::Type atomic_load_relaxed(const volatile T *A) {
127 return atomic_load(A, memory_order_relaxed);
131 inline void atomic_store_relaxed(volatile T *A, typename T::Type V) {
132 atomic_store(A, V, memory_order_relaxed);
137 atomic_compare_exchange_strong(volatile T *A, typename T::Type Cmp,
139 atomic_compare_exchange_strong(A, &Cmp, Xchg, MO);