EMIT_FETCH_AND_OP_N
EMIT_FETCH_AND_OP_N(N, uintN_t, lock_test_and_set, =) \
EMIT_FETCH_AND_OP_N(N, uintN_t, fetch_and_add, +=) \
EMIT_FETCH_AND_OP_N(N, uintN_t, fetch_and_and, &=) \
EMIT_FETCH_AND_OP_N(N, uintN_t, fetch_and_or, |=) \
EMIT_FETCH_AND_OP_N(N, uintN_t, fetch_and_sub, -=) \
EMIT_FETCH_AND_OP_N(N, uintN_t, fetch_and_xor, ^=)
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_add, "add") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_and, "and") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_or, "orr") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_sub, "sub") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_xor, "eor")