r_A
*prog++ = SUB | RS1(G0) | RS2(r_A) | RD(r_A); \
*prog++ = OPCODE | RS1(r_A) | RS2(r_X) | RD(r_A); \
_insn |= RS1(r_A) | RD(r_A); \
emit_clear(r_A); /* A = 0 */
emit_clear(r_A);
emit_clear(r_A);
emit_loadimm(K, r_A);
emit_reg_move(r_A, O0); /* delay slot */
emit_reg_move(r_A, r_X);
emit_reg_move(r_X, r_A);
emit_load_cpu(r_A);
emit_skb_load16(protocol, r_A);
__emit_skb_load8(__pkt_type_offset, r_A);
emit_andi(r_A, PKT_TYPE_MAX, r_A);
emit_skb_loadptr(dev, r_A);
emit_cmpi(r_A, 0);
emit_load32(r_A, struct net_device, ifindex, r_A);
emit_skb_load32(mark, r_A);
emit_skb_load16(queue_mapping, r_A);
emit_skb_loadptr(dev, r_A);
emit_cmpi(r_A, 0);
emit_load16(r_A, struct net_device, type, r_A);
emit_skb_load32(hash, r_A);
emit_skb_load16(vlan_tci, r_A);
emit_skb_load32(vlan_all, r_A);
emit_cmpi(r_A, 0);
emit_loadimm(1, r_A);
emit_skb_load32(len, r_A);
emit_loadimm(K, r_A);
emit_ldmem(K * 4, r_A);
emit_stmem(K * 4, r_A);
emit_cmp(r_A, r_X);
emit_btst(r_A, r_X);
emit_cmpi(r_A, K);
emit_cmp(r_A, r_TMP);
emit_btsti(r_A, K);
emit_btst(r_A, r_TMP);