8 asm volatile(
"lock; xchgl %0, %1;"
9 :
"+m" (*dst),
"+r" (newval));
17 asm volatile(
"lock; xchgq %0, %1;"
18 :
"+m" (*dst),
"+r" (newval));
static INLINE uint64_t atomic_swap_uint32(volatile uint32_t *dst, uint32_t newval)
static INLINE uint64_t atomic_swap_uint64(volatile uint64_t *dst, uint64_t newval)
static void atomic_set_uint64(volatile uint64_t *dst, uint64_t newval)