__xchg_asm
return __xchg_asm("ll", "sc", (volatile u32 *)ptr, x);
return __xchg_asm("lld", "scd", (volatile u64 *)ptr, x);