emit_alu
emit_alu(OR, tmp, dst, ctx);
emit_alu(OR, tmp2, tmp, ctx); /* tmp = tmp | tmp2 */
emit_alu(OR, tmp2, tmp, ctx); /* tmp = tmp | tmp2 */
emit_alu(OR, tmp, dst, ctx); /* dst = dst | tmp */
emit_alu(ADD, bpf_array, tmp, ctx);
emit_alu(ADD, src, dst, ctx);
emit_alu(SUB, src, dst, ctx);
emit_alu(AND, src, dst, ctx);
emit_alu(OR, src, dst, ctx);
emit_alu(XOR, src, dst, ctx);
emit_alu(MUL, src, dst, ctx);
emit_alu(MULX, src, dst, ctx);
emit_alu(DIV, src, dst, ctx);
emit_alu(UDIVX, src, dst, ctx);
emit_alu(SLL, src, dst, ctx);
emit_alu(SLLX, src, dst, ctx);
emit_alu(SRL, src, dst, ctx);
emit_alu(SRLX, src, dst, ctx);
emit_alu(SRA, src, dst, ctx);
emit_alu(SRAX, src, dst, ctx);
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, reg_both(dst), reg_none(),
emit_alu(nfp_prog, reg_both(dst), reg_a(dst), alu_op, tmp_reg);
emit_alu(nfp_prog, reg_both(dst), reg_a(dst), alu_op, reg_b(src));
emit_alu(nfp_prog, reg_both(dst + 1),
emit_alu(nfp_prog, reg_both(dst), reg_a(dst), alu_op, reg_b(src));
emit_alu(nfp_prog, reg_none(), reg_a(dst), alu_op, reg_b(src));
emit_alu(nfp_prog, reg_none(), reg_a(reg), alu_op, tmp_reg);
emit_alu(nfp_prog, reg_none(), tmp_reg, alu_op, reg_a(reg));
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(), reg_a(areg), ALU_OP_SUB, reg_b(breg));
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(), dst_a, ALU_OP_SUB, tmp_b);
emit_alu(nfp_prog, dst_both, imm_a(nfp_prog), ALU_OP_ADD_C,
emit_alu(nfp_prog, dst_both, dst_a, ALU_OP_SUB,
emit_alu(nfp_prog, dst_both, dst_a, ALU_OP_ADD,
emit_alu(nfp_prog, pptr_reg(nfp_prog),
emit_alu(nfp_prog, plen_reg(nfp_prog),
emit_alu(nfp_prog, pv_len(nfp_prog),
emit_alu(nfp_prog, tmp,
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, tmp_len,
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, plen_reg(nfp_prog),
emit_alu(nfp_prog, pv_len(nfp_prog),
emit_alu(nfp_prog, plen, plen_reg(nfp_prog), ALU_OP_ADD, delta);
emit_alu(nfp_prog, reg_none(), plen, ALU_OP_SUB, reg_imm(ETH_HLEN));
emit_alu(nfp_prog, plen_reg(nfp_prog),
emit_alu(nfp_prog, pv_len(nfp_prog),
emit_alu(nfp_prog, reg_none(), reg_a(meta->insn.src_reg * 2),
emit_alu(nfp_prog, reg_both(dst), stack_reg(nfp_prog),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2 + 1),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2 + 1),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2), reg_imm(0),
emit_alu(nfp_prog, reg_both(insn->dst_reg * 2 + 1), reg_imm(0),
emit_alu(nfp_prog, imm_both(nfp_prog), reg_imm(32), ALU_OP_SUB,
emit_alu(nfp_prog, reg_none(), imm_a(nfp_prog), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(dst + 1), ALU_OP_OR,
emit_alu(nfp_prog, reg_none(), reg_a(dst + 1), ALU_OP_OR,
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_b(dst + 1));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_b(dst + 1));
emit_alu(nfp_prog, reg_both(dst), reg_imm(0), ALU_OP_SUB, reg_b(dst));
emit_alu(nfp_prog, reg_none(), reg_a(dst), ALU_OP_OR,
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_b(dst));
emit_alu(nfp_prog, reg_none(), reg_a(src), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, dst,
emit_alu(nfp_prog, dst,
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, imma_a(nfp_prog),
emit_alu(nfp_prog, imma_b(nfp_prog),
emit_alu(nfp_prog, imm_a(nfp_prog),
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, reg_none(), or1, ALU_OP_OR, or2);
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(), reg_none(), ALU_OP_NONE,
emit_alu(nfp_prog, reg_none(), reg_a(insn->dst_reg * 2),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, imm_a(nfp_prog), reg_a(insn->dst_reg * 2),
emit_alu(nfp_prog, imm_b(nfp_prog),
emit_alu(nfp_prog, reg_none(), imm_a(nfp_prog), ALU_OP_OR,
emit_alu(nfp_prog, stack_reg(nfp_prog),
emit_alu(nfp_prog, stack_reg(nfp_prog),
emit_alu(nfp_prog, plen_reg(nfp_prog),
emit_alu(nfp_prog, reg_none(), reg_imm(7), ALU_OP_SUB, reg_b(0));
emit_alu(nfp_prog, reg_none(), reg_a(1), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_a(1), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, reg_none(), reg_imm(3), ALU_OP_SUB, reg_b(0));
emit_alu(nfp_prog, reg_none(), reg_a(1), ALU_OP_OR, reg_imm(0));
emit_alu(nfp_prog, dst, reg_none(), ALU_OP_NONE, src);
emit_alu(nfp_prog, imm_a(nfp_prog), reg_a(src_gpr), ALU_OP_ADD, offset);
emit_alu(nfp_prog, imm_b(nfp_prog), reg_b(src_gpr + 1), ALU_OP_ADD_C,
emit_alu(nfp_prog, imm_both(nfp_prog), reg_a(src), ALU_OP_ADD, tmp_reg);
emit_alu(nfp_prog, imm_a(nfp_prog),
emit_alu(nfp_prog, reg_none(),
emit_alu(nfp_prog, reg_none(), plen_reg(nfp_prog), ALU_OP_SUB, tmp_reg);