Lines Matching refs:t

74 #define	_ATOMIC_OP_PROTO(t, op, bar, flav)				\  argument
76 atomic_##op##_##bar##t##flav(volatile uint##t##_t *p, uint##t##_t val)
78 #define _ATOMIC_OP_IMPL(t, w, s, op, llsc_asm_op, lse_asm_op, pre, bar, a, l) \ argument
79 _ATOMIC_OP_PROTO(t, op, bar, _llsc) \
81 uint##t##_t tmp; \
96 _ATOMIC_OP_PROTO(t, op, bar, _lse) \
98 uint##t##_t tmp; \
111 _ATOMIC_OP_PROTO(t, op, bar, ) \
114 atomic_##op##_##bar##t##_lse(p, val); \
116 atomic_##op##_##bar##t##_llsc(p, val); \
139 #define _ATOMIC_CMPSET_PROTO(t, bar, flav) \ argument
141 atomic_cmpset_##bar##t##flav(volatile uint##t##_t *p, \
142 uint##t##_t cmpval, uint##t##_t newval)
144 #define _ATOMIC_FCMPSET_PROTO(t, bar, flav) \ argument
146 atomic_fcmpset_##bar##t##flav(volatile uint##t##_t *p, \
147 uint##t##_t *cmpval, uint##t##_t newval)
149 #define _ATOMIC_CMPSET_IMPL(t, w, s, bar, a, l) \ argument
150 _ATOMIC_CMPSET_PROTO(t, bar, _llsc) \
152 uint##t##_t tmp; \
171 _ATOMIC_CMPSET_PROTO(t, bar, _lse) \
173 uint##t##_t oldval; \
191 _ATOMIC_CMPSET_PROTO(t, bar, ) \
194 return (atomic_cmpset_##bar##t##_lse(p, cmpval, \
197 return (atomic_cmpset_##bar##t##_llsc(p, cmpval, \
201 _ATOMIC_FCMPSET_PROTO(t, bar, _llsc) \
203 uint##t##_t _cmpval, tmp; \
223 _ATOMIC_FCMPSET_PROTO(t, bar, _lse) \
225 uint##t##_t _cmpval, tmp; \
244 _ATOMIC_FCMPSET_PROTO(t, bar, ) \
247 return (atomic_fcmpset_##bar##t##_lse(p, cmpval, \
250 return (atomic_fcmpset_##bar##t##_llsc(p, cmpval, \
269 #define _ATOMIC_FETCHADD_PROTO(t, flav) \ argument
270 static __inline uint##t##_t \
271 atomic_fetchadd_##t##flav(volatile uint##t##_t *p, uint##t##_t val)
273 #define _ATOMIC_FETCHADD_IMPL(t, w) \ argument
274 _ATOMIC_FETCHADD_PROTO(t, _llsc) \
276 uint##t##_t ret, tmp; \
292 _ATOMIC_FETCHADD_PROTO(t, _lse) \
294 uint##t##_t ret; \
308 _ATOMIC_FETCHADD_PROTO(t, ) \
311 return (atomic_fetchadd_##t##_lse(p, val)); \
313 return (atomic_fetchadd_##t##_llsc(p, val)); \
319 #define _ATOMIC_SWAP_PROTO(t, flav) \ argument
320 static __inline uint##t##_t \
321 atomic_swap_##t##flav(volatile uint##t##_t *p, uint##t##_t val)
323 #define _ATOMIC_READANDCLEAR_PROTO(t, flav) \ argument
324 static __inline uint##t##_t \
325 atomic_readandclear_##t##flav(volatile uint##t##_t *p)
327 #define _ATOMIC_SWAP_IMPL(t, w, zreg) \ argument
328 _ATOMIC_SWAP_PROTO(t, _llsc) \
330 uint##t##_t ret; \
345 _ATOMIC_SWAP_PROTO(t, _lse) \
347 uint##t##_t ret; \
361 _ATOMIC_SWAP_PROTO(t, ) \
364 return (atomic_swap_##t##_lse(p, val)); \
366 return (atomic_swap_##t##_llsc(p, val)); \
369 _ATOMIC_READANDCLEAR_PROTO(t, _llsc) \
371 uint##t##_t ret; \
386 _ATOMIC_READANDCLEAR_PROTO(t, _lse) \
388 return (atomic_swap_##t##_lse(p, 0)); \
391 _ATOMIC_READANDCLEAR_PROTO(t, ) \
394 return (atomic_readandclear_##t##_lse(p)); \
396 return (atomic_readandclear_##t##_llsc(p)); \
402 #define _ATOMIC_TEST_OP_PROTO(t, op, flav) \ argument
404 atomic_testand##op##_##t##flav(volatile uint##t##_t *p, u_int val)
406 #define _ATOMIC_TEST_OP_IMPL(t, w, op, llsc_asm_op, lse_asm_op) \ argument
407 _ATOMIC_TEST_OP_PROTO(t, op, _llsc) \
409 uint##t##_t mask, old, tmp; \
412 mask = ((uint##t##_t)1) << (val & (t - 1)); \
426 _ATOMIC_TEST_OP_PROTO(t, op, _lse) \
428 uint##t##_t mask, old; \
430 mask = ((uint##t##_t)1) << (val & (t - 1)); \
443 _ATOMIC_TEST_OP_PROTO(t, op, ) \
446 return (atomic_testand##op##_##t##_lse(p, val)); \
448 return (atomic_testand##op##_##t##_llsc(p, val)); \
458 #define _ATOMIC_LOAD_ACQ_IMPL(t, w, s) \ in _ATOMIC_TEST_OP() argument
459 static __inline uint##t##_t \ in _ATOMIC_TEST_OP()
460 atomic_load_acq_##t(volatile uint##t##_t *p) \ in _ATOMIC_TEST_OP()
462 uint##t##_t ret; \ in _ATOMIC_TEST_OP()
480 #define _ATOMIC_STORE_REL_IMPL(t, w, s) \ argument
482 atomic_store_rel_##t(volatile uint##t##_t *p, uint##t##_t val) \