EMIT_FETCH_OP_N
EMIT_FETCH_OP_N(N, uintN_t, exchange, =) \
EMIT_FETCH_OP_N(N, uintN_t, fetch_add, +=) \
EMIT_FETCH_OP_N(N, uintN_t, fetch_and, &=) \
EMIT_FETCH_OP_N(N, uintN_t, fetch_or, |=) \
EMIT_FETCH_OP_N(N, uintN_t, fetch_sub, -=) \
EMIT_FETCH_OP_N(N, uintN_t, fetch_xor, ^=)
EMIT_FETCH_OP_N(N, uintN_t, ldr, str, fetch_add, "add") \
EMIT_FETCH_OP_N(N, uintN_t, ldr, str, fetch_and, "and") \
EMIT_FETCH_OP_N(N, uintN_t, ldr, str, fetch_or, "orr") \
EMIT_FETCH_OP_N(N, uintN_t, ldr, str, fetch_sub, "sub") \
EMIT_FETCH_OP_N(N, uintN_t, ldr, str, fetch_xor, "eor")