Lines Matching refs:mem
24 #define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \ argument
25 ({ __typeof (*(mem)) __ret; \
27 : "=d" (__ret), "+m" (*(mem)) \
31 #define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \ argument
32 ({ __typeof (*(mem)) __ret; \
34 : "=d" (__ret), "+m" (*(mem)) \
38 #define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \ argument
39 ({ __typeof (*(mem)) __ret; \
41 : "=d" (__ret), "+m" (*(mem)) \
45 # define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \ argument
46 ({ __typeof (*(mem)) __ret; \
47 __typeof (mem) __memp = (mem); \
50 : "d" ((__typeof (*(mem))) (newval)), "r" (__memp), \
55 #define atomic_exchange_acq(mem, newvalue) \ argument
56 ({ __typeof (*(mem)) __result = *(mem); \
57 if (sizeof (*(mem)) == 1) \
60 : "=d" (__result), "+m" (*(mem)) \
62 else if (sizeof (*(mem)) == 2) \
65 : "=d" (__result), "+m" (*(mem)) \
67 else if (sizeof (*(mem)) == 4) \
70 : "=d" (__result), "+m" (*(mem)) \
74 __typeof (mem) __memp = (mem); \
78 : "d" ((__typeof (*(mem))) (newvalue)), \
85 #define atomic_exchange_and_add(mem, value) \ argument
86 ({ __typeof (*(mem)) __result = *(mem); \
87 __typeof (*(mem)) __temp; \
88 if (sizeof (*(mem)) == 1) \
93 : "=d" (__result), "+m" (*(mem)), \
96 else if (sizeof (*(mem)) == 2) \
101 : "=d" (__result), "+m" (*(mem)), \
104 else if (sizeof (*(mem)) == 4) \
109 : "=d" (__result), "+m" (*(mem)), \
114 __typeof (mem) __memp = (mem); \
122 : "d" ((__typeof (*(mem))) (value)), "r" (__memp), \
128 #define atomic_add(mem, value) \ argument
129 (void) ({ if (sizeof (*(mem)) == 1) \
131 : "+m" (*(mem)) \
133 else if (sizeof (*(mem)) == 2) \
135 : "+m" (*(mem)) \
137 else if (sizeof (*(mem)) == 4) \
139 : "+m" (*(mem)) \
143 __typeof (mem) __memp = (mem); \
144 __typeof (*(mem)) __oldval = *__memp; \
145 __typeof (*(mem)) __temp; \
153 : "d" ((__typeof (*(mem))) (value)), \
160 #define atomic_increment_and_test(mem) \ argument
162 if (sizeof (*(mem)) == 1) \
164 : "=dm" (__result), "+m" (*(mem))); \
165 else if (sizeof (*(mem)) == 2) \
167 : "=dm" (__result), "+m" (*(mem))); \
168 else if (sizeof (*(mem)) == 4) \
170 : "=dm" (__result), "+m" (*(mem))); \
173 __typeof (mem) __memp = (mem); \
174 __typeof (*(mem)) __oldval = *__memp; \
175 __typeof (*(mem)) __temp; \
191 #define atomic_decrement_and_test(mem) \ argument
193 if (sizeof (*(mem)) == 1) \
195 : "=dm" (__result), "+m" (*(mem))); \
196 else if (sizeof (*(mem)) == 2) \
198 : "=dm" (__result), "+m" (*(mem))); \
199 else if (sizeof (*(mem)) == 4) \
201 : "=dm" (__result), "+m" (*(mem))); \
204 __typeof (mem) __memp = (mem); \
205 __typeof (*(mem)) __oldval = *__memp; \
206 __typeof (*(mem)) __temp; \
222 #define atomic_bit_set(mem, bit) \ argument
224 : "+m" (*(mem)) \
225 : "di" (sizeof (*(mem)) * 8 - (bit) - 1))
227 #define atomic_bit_test_set(mem, bit) \ argument
230 : "=dm" (__result), "+m" (*(mem)) \
231 : "di" (sizeof (*(mem)) * 8 - (bit) - 1)); \