Lines Matching refs:mem

33 # define __arch_compare_and_exchange_bool_8_int(mem, newval, oldval, model) \  argument
35 typeof (*mem) __oldval = (oldval); \
36 !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
40 # define __arch_compare_and_exchange_bool_16_int(mem, newval, oldval, model) \ argument
42 typeof (*mem) __oldval = (oldval); \
43 !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
47 # define __arch_compare_and_exchange_bool_32_int(mem, newval, oldval, model) \ argument
49 typeof (*mem) __oldval = (oldval); \
50 !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
54 # define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \ argument
56 typeof (*mem) __oldval = (oldval); \
57 !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
61 # define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \ argument
63 typeof (*mem) __oldval = (oldval); \
64 __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
69 # define __arch_compare_and_exchange_val_16_int(mem, newval, oldval, model) \ argument
71 typeof (*mem) __oldval = (oldval); \
72 __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
77 # define __arch_compare_and_exchange_val_32_int(mem, newval, oldval, model) \ argument
79 typeof (*mem) __oldval = (oldval); \
80 __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
85 # define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \ argument
87 typeof (*mem) __oldval = (oldval); \
88 __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
95 # define atomic_compare_and_exchange_bool_acq(mem, new, old) \ argument
97 mem, new, old, __ATOMIC_ACQUIRE)
99 # define atomic_compare_and_exchange_val_acq(mem, new, old) \ argument
101 mem, new, old, __ATOMIC_ACQUIRE)
103 # define atomic_compare_and_exchange_val_rel(mem, new, old) \ argument
105 mem, new, old, __ATOMIC_RELEASE)
109 # define __arch_exchange_8_int(mem, newval, model) \ argument
110 __atomic_exchange_n (mem, newval, model)
112 # define __arch_exchange_16_int(mem, newval, model) \ argument
113 __atomic_exchange_n (mem, newval, model)
115 # define __arch_exchange_32_int(mem, newval, model) \ argument
116 __atomic_exchange_n (mem, newval, model)
118 # define __arch_exchange_64_int(mem, newval, model) \ argument
119 __atomic_exchange_n (mem, newval, model)
121 # define atomic_exchange_acq(mem, value) \ argument
122 __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_ACQUIRE)
124 # define atomic_exchange_rel(mem, value) \ argument
125 __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_RELEASE)
129 # define __arch_exchange_and_add_8_int(mem, value, model) \ argument
130 __atomic_fetch_add (mem, value, model)
132 # define __arch_exchange_and_add_16_int(mem, value, model) \ argument
133 __atomic_fetch_add (mem, value, model)
135 # define __arch_exchange_and_add_32_int(mem, value, model) \ argument
136 __atomic_fetch_add (mem, value, model)
138 # define __arch_exchange_and_add_64_int(mem, value, model) \ argument
139 __atomic_fetch_add (mem, value, model)
141 # define atomic_exchange_and_add_acq(mem, value) \ argument
142 __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \
145 # define atomic_exchange_and_add_rel(mem, value) \ argument
146 __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, \
151 # define asm_amo(which, ordering, mem, value) ({ \ argument
152 __atomic_check_size (mem); \
153 typeof (*mem) __tmp; \
156 : "=r" (__tmp), "+A" (* (mem)) \
160 : "=r" (__tmp), "+A" (* (mem)) \
166 # define atomic_max(mem, value) asm_amo ("amomaxu", ".aq", mem, value) argument
167 # define atomic_min(mem, value) asm_amo ("amominu", ".aq", mem, value) argument
169 # define atomic_bit_test_set(mem, bit) \ argument
170 ({ typeof (*mem) __mask = (typeof (*mem))1 << (bit); \
171 asm_amo ("amoor", ".aq", mem, __mask) & __mask; })
173 # define catomic_exchange_and_add(mem, value) \ argument
174 atomic_exchange_and_add (mem, value)
175 # define catomic_max(mem, value) atomic_max (mem, value) argument