atomic_swap_ptr
itd = (struct thread *)atomic_swap_ptr((uintptr_t *)&tdd->tdd_zombies,
(__typeof((p)->__ptr))atomic_swap_ptr( \
newdata = (void *)atomic_swap_ptr((void *)&ucode_data,
cur = (void *)atomic_swap_ptr(&smrs_current, (uintptr_t)cur);