xchg/cmpxchg