IMMED
#define LD8I (LD8 | IMMED)
#define LD16I (LD16 | IMMED)
#define LD64I (LD64 | IMMED)
#define LDPTRI (LDPTR | IMMED)
#define ST32I (ST32 | IMMED)
*prog++ = _insn | IMMED | S13(K); \
*prog++ = OR | IMMED | RS1(G0) | S13(K) | RD(DEST); \
*prog++ = (JMPL | IMMED | RS1(BASE) | S13(IMM_OFF) | RD(LREG))
#define emit_write_y(REG) *prog++ = WR_Y | IMMED | RS1(REG) | S13(0)
*prog++ = (SUBCC | IMMED | RS1(R1) | S13(IMM) | RD(G0));
*prog++ = (ANDCC | IMMED | RS1(R1) | S13(IMM) | RD(G0));
*prog++ = (SUB | IMMED | RS1(R1) | S13(IMM) | RD(R3))
*prog++ = (ADD | IMMED | RS1(R1) | S13(IMM) | RD(R3))
*prog++ = (AND | IMMED | RS1(R1) | S13(IMM) | RD(R3))
*prog++ = (SUB | IMMED | RS1(SP) | S13(SZ) | RD(SP))
*prog++ = (ADD | IMMED | RS1(SP) | S13(SZ) | RD(SP))
(F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG))
#define LD32I (LD32 | IMMED)
emit(div | IMMED | RS1(dst) | S13(imm) | RD(tmp), ctx);
emit(MULX | IMMED | RS1(tmp) | S13(imm) | RD(tmp), ctx);
opcode |= IMMED;
opcode |= IMMED;
opcode |= IMMED;
(F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG))
#define LD32I (LD32 | IMMED)
#define LD8I (LD8 | IMMED)
#define LD16I (LD16 | IMMED)
#define LD64I (LD64 | IMMED)
#define LDPTRI (LDPTR | IMMED)
#define ST32I (ST32 | IMMED)
emit(XOR | IMMED | RS1(reg) | S13(lbits) | RD(reg), ctx);
emit(insn | IMMED | S13(imm), ctx);
emit(insn | IMMED | S13(imm), ctx);
emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx);
emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx);
emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx);
emit(OR | IMMED | RS1(dest) | S13(low_imm) | RD(dest), ctx);
emit(OR | IMMED | RS1(G0) | S13(the_const) | RD(dest), ctx);
emit(OR | IMMED | RS1(G0) | S13(fast_int) | RD(dest), ctx);
emit(XOR | IMMED | RS1(dest) | S13(low_bits) | RD(dest), ctx);
emit(cb_opc | IMMED | WDISP10(off << 2) | RS1(dst) | S5(imm), ctx);
#define emit_write_y(REG, CTX) emit(WR_Y | IMMED | RS1(REG) | S13(0), CTX)
emit(SUBCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
emit(ANDCC | IMMED | RS1(R1) | S13(IMM) | RD(G0), CTX)
emit(SAVE | IMMED | RS1(SP) | S13(-stack_needed) | RD(SP), ctx);
emit(ST32 | IMMED | RS1(SP) | S13(off) | RD(G0), ctx);
emit(ADD | IMMED | RS1(FP) | S13(STACK_BIAS) | RD(vfp), ctx);
emit(JMPL | IMMED | RS1(I7) | S13(8) | RD(G0), ctx);
emit(LD32 | IMMED | RS1(bpf_array) | S13(off) | RD(tmp), ctx);
emit(LD32 | IMMED | RS1(SP) | S13(off) | RD(tmp), ctx);
emit(ST32 | IMMED | RS1(SP) | S13(off) | RD(tmp), ctx);
emit(LD64 | IMMED | RS1(tmp) | S13(off) | RD(tmp), ctx);
emit(LD64 | IMMED | RS1(tmp) | S13(off) | RD(tmp), ctx);
emit(JMPL | IMMED | RS1(tmp) | S13(off) | RD(G0), ctx);