atomic_cmpset_acq_int
if (v == 2 || atomic_cmpset_acq_int(mtx, 1, 2)) {
if (atomic_cmpset_acq_int(mtx, 0, 2))
} while (!atomic_cmpset_acq_int(mtx, 0, 2));
if (atomic_cmpset_acq_int(mtx, v, v-1)) {
if (atomic_cmpset_acq_int(mtx, 0, 1))
if (atomic_cmpset_acq_int(mtx, 1, 0))
} while (!atomic_cmpset_acq_int(&pthread->cancelflags, oldval, newval));
if (atomic_cmpset_acq_int(&(*sem)->count, val, val - 1)) {
if (atomic_cmpset_acq_int(&(*sem)->count, val, val - 1)) {
if (atomic_cmpset_acq_int(mtx, 0, id))
if (atomic_cmpset_acq_int(mtx, 0, id))
if (atomic_cmpset_acq_int(mtx, 0, id))
if (atomic_cmpset_acq_int(mtx, 0, id))
if (atomic_cmpset_acq_int(mtx, 0, id))
if (atomic_cmpset_acq_int(mtx, 0, id)) {
#define atomic_cmpset_acq_32 atomic_cmpset_acq_int
#define NM_ATOMIC_TEST_AND_SET(p) (!atomic_cmpset_acq_int((p), 0, 1))