R2
#define _ASM_MACRO_2R(OP, R1, R2, ENC) \
".macro " #OP " " #R1 ", " #R2 "\n\t" \
"parse_r __" #R2 ", \\" #R2 "\n\t" \
#define _ASM_MACRO_3R(OP, R1, R2, R3, ENC) \
".macro " #OP " " #R1 ", " #R2 ", " #R3 "\n\t" \
"parse_r __" #R2 ", \\" #R2 "\n\t" \
#define _ASM_MACRO_2R_1S(OP, R1, R2, SEL3, ENC) \
".macro " #OP " " #R1 ", " #R2 ", " #SEL3 " = 0\n\t" \
"parse_r __" #R2 ", \\" #R2 "\n\t" \
newbase += (R2(regs->iir)?regs->gr[R2(regs->iir)]:0)<<shift;
newbase += (R2(regs->iir)?regs->gr[R2(regs->iir)]:0);
ret = emulate_sth(regs, R2(regs->iir));
ret = emulate_stw(regs, R2(regs->iir), 0);
ret = emulate_std(regs, R2(regs->iir), 0);
ret = emulate_ldd(regs,R2(regs->iir),1);
ret = emulate_std(regs, R2(regs->iir),1);
ret = emulate_ldd(regs, R2(regs->iir),0);
ret = emulate_std(regs, R2(regs->iir),0);
ret = emulate_ldw(regs, R2(regs->iir), 1);
ret = emulate_ldw(regs, R2(regs->iir), 0);
ret = emulate_stw(regs, R2(regs->iir),1);
ret = emulate_stw(regs, R2(regs->iir),0);
ret = emulate_ldh(regs, R2(regs->iir));
ret = emulate_ldw(regs, R2(regs->iir),0);
ret = emulate_sth(regs, R2(regs->iir));
ret = emulate_stw(regs, R2(regs->iir),0);
#define emit_cmp(R1, R2) \
*prog++ = (SUBCC | RS1(R1) | RS2(R2) | RD(G0))
#define emit_btst(R1, R2) \
*prog++ = (ANDCC | RS1(R1) | RS2(R2) | RD(G0))
#define emit_sub(R1, R2, R3) \
*prog++ = (SUB | RS1(R1) | RS2(R2) | RD(R3))
#define emit_add(R1, R2, R3) \
*prog++ = (ADD | RS1(R1) | RS2(R2) | RD(R3))
#define emit_and(R1, R2, R3) \
*prog++ = (AND | RS1(R1) | RS2(R2) | RD(R3))
#define emit_cmp(R1, R2, CTX) \
emit(SUBCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
#define emit_btst(R1, R2, CTX) \
emit(ANDCC | RS1(R1) | RS2(R2) | RD(G0), CTX)
state->if_agc_cfg.R2 = (u16) (ulIfAgcR2);
state->rf_agc_cfg.R2 = (u16) (ulRfAgcR2);
u16 R2;
u32 R2 = state->if_agc_cfg.R2;
if (R2 == 0 && (R1 == 0 || R3 == 0))
Vmax = (3300 * R2) / (R1 + R2);
Rpar = (R2 * R3) / (R3 + R2);
wr(scc, R2, chip*16); /* interrupt vector */
vector=InReg(ctrl->chan_B,R2); /* Read the vector */
s32 R1, R2, R3;
R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[1]);
R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[0]);
D_TEMP("Calib values R[1-3]: %d %d %d R4: %d\n", R1, R2, R3, vt);
temperature = TEMPERATURE_CALIB_A_VAL * (vt - R2);
ASPEED_PINCTRL_PIN(R2),
ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, R2, T3, SCU8C, 25),
ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, R2, T3, SCU8C, 25),
SIG_EXPR_LIST_DECL_SINGLE(R2, SGPMCK, SGPM, SIG_DESC_SET(SCU84, 8));
PIN_DECL_1(R2, GPIOJ0, SGPMCK);
FUNC_GROUP_DECL(SGPM, R2, L2, N3, N4);
if (!(evt[i][R2] & SLG51000_IRQ_ILIM_FLAG_MASK) &&
if (!(evt[SLG51000_SCTL_EVT][R2] & SLG51000_IRQ_HIGH_TEMP_WARN_MASK) &&
u32 R2;
write_zsreg(zport, R2, regs[2]);
R2(a, b, c, d, e, f, g, h, K[16], W1(16), W2(20));
R2(d, a, b, c, h, e, f, g, K[17], W1(17), W2(21));
R2(c, d, a, b, g, h, e, f, K[18], W1(18), W2(22));
R2(b, c, d, a, f, g, h, e, K[19], W1(19), W2(23));
R2(a, b, c, d, e, f, g, h, K[20], W1(20), W2(24));
R2(d, a, b, c, h, e, f, g, K[21], W1(21), W2(25));
R2(c, d, a, b, g, h, e, f, K[22], W1(22), W2(26));
R2(b, c, d, a, f, g, h, e, K[23], W1(23), W2(27));
R2(a, b, c, d, e, f, g, h, K[24], W1(24), W2(28));
R2(d, a, b, c, h, e, f, g, K[25], W1(25), W2(29));
R2(c, d, a, b, g, h, e, f, K[26], W1(26), W2(30));
R2(b, c, d, a, f, g, h, e, K[27], W1(27), W2(31));
R2(a, b, c, d, e, f, g, h, K[28], W1(28), W2(32));
R2(d, a, b, c, h, e, f, g, K[29], W1(29), W2(33));
R2(c, d, a, b, g, h, e, f, K[30], W1(30), W2(34));
R2(b, c, d, a, f, g, h, e, K[31], W1(31), W2(35));
R2(a, b, c, d, e, f, g, h, K[32], W1(32), W2(36));
R2(d, a, b, c, h, e, f, g, K[33], W1(33), W2(37));
R2(c, d, a, b, g, h, e, f, K[34], W1(34), W2(38));
R2(b, c, d, a, f, g, h, e, K[35], W1(35), W2(39));
R2(a, b, c, d, e, f, g, h, K[36], W1(36), W2(40));
R2(d, a, b, c, h, e, f, g, K[37], W1(37), W2(41));
R2(c, d, a, b, g, h, e, f, K[38], W1(38), W2(42));
R2(b, c, d, a, f, g, h, e, K[39], W1(39), W2(43));
R2(a, b, c, d, e, f, g, h, K[40], W1(40), W2(44));
R2(d, a, b, c, h, e, f, g, K[41], W1(41), W2(45));
R2(c, d, a, b, g, h, e, f, K[42], W1(42), W2(46));
R2(b, c, d, a, f, g, h, e, K[43], W1(43), W2(47));
R2(a, b, c, d, e, f, g, h, K[44], W1(44), W2(48));
R2(d, a, b, c, h, e, f, g, K[45], W1(45), W2(49));
R2(c, d, a, b, g, h, e, f, K[46], W1(46), W2(50));
R2(b, c, d, a, f, g, h, e, K[47], W1(47), W2(51));
R2(a, b, c, d, e, f, g, h, K[48], W1(48), W2(52));
R2(d, a, b, c, h, e, f, g, K[49], W1(49), W2(53));
R2(c, d, a, b, g, h, e, f, K[50], W1(50), W2(54));
R2(b, c, d, a, f, g, h, e, K[51], W1(51), W2(55));
R2(a, b, c, d, e, f, g, h, K[52], W1(52), W2(56));
R2(d, a, b, c, h, e, f, g, K[53], W1(53), W2(57));
R2(c, d, a, b, g, h, e, f, K[54], W1(54), W2(58));
R2(b, c, d, a, f, g, h, e, K[55], W1(55), W2(59));
R2(a, b, c, d, e, f, g, h, K[56], W1(56), W2(60));
R2(d, a, b, c, h, e, f, g, K[57], W1(57), W2(61));
R2(c, d, a, b, g, h, e, f, K[58], W1(58), W2(62));
R2(b, c, d, a, f, g, h, e, K[59], W1(59), W2(63));
R2(a, b, c, d, e, f, g, h, K[60], W1(60), W2(64));
R2(d, a, b, c, h, e, f, g, K[61], W1(61), W2(65));
R2(c, d, a, b, g, h, e, f, K[62], W1(62), W2(66));
R2(b, c, d, a, f, g, h, e, K[63], W1(63), W2(67));
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ALU32_REG(op, R1, R2);
BPF_LD_IMM64(R2, -2),
BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
BPF_LD_IMM64(R2, -1),
BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
BPF_LD_IMM64(R2, -2),
BPF_JMP_REG(BPF_JSLT, R2, R1, 1),
BPF_LD_IMM64(R2, -1),
BPF_JMP_REG(BPF_JSLT, R1, R2, 1),
BPF_LD_IMM64(R2, -2),
BPF_JMP_REG(BPF_JSGE, R1, R2, 1),
BPF_LD_IMM64(R2, -1),
BPF_JMP_REG(BPF_JSGE, R1, R2, 1),
BPF_LD_IMM64(R2, -2),
BPF_JMP_REG(BPF_JSLE, R2, R1, 1),
BPF_LD_IMM64(R2, -1),
BPF_JMP_REG(BPF_JSLE, R1, R2, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JGT, R1, R2, 1),
BPF_LD_IMM64(R2, 1),
BPF_JMP_REG(BPF_JGT, R1, R2, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JLT, R2, R1, 1),
BPF_LD_IMM64(R2, 1),
BPF_JMP_REG(BPF_JLT, R2, R1, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JGE, R1, R2, 1),
BPF_LD_IMM64(R2, 3),
BPF_JMP_REG(BPF_JGE, R1, R2, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JLE, R2, R1, 1),
BPF_LD_IMM64(R2, 3),
BPF_JMP_REG(BPF_JLE, R1, R2, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JGE, R1, R2, 2),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JGE, R1, R2, 0),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JGE, R1, R2, 4),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JLE, R2, R1, 2),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JLE, R2, R1, 0),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JLE, R2, R1, 4),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JNE, R1, R2, 1),
BPF_LD_IMM64(R2, 3),
BPF_JMP_REG(BPF_JEQ, R1, R2, 1),
BPF_LD_IMM64(R2, 2),
BPF_JMP_REG(BPF_JSET, R1, R2, 1),
BPF_LD_IMM64(R2, 0xffffffff),
BPF_JMP_REG(BPF_JSET, R1, R2, 1),
BPF_MOV64_REG(R2, R1),
BPF_ALU64_REG(BPF_AND, R2, R3),
BPF_JMP_IMM(BPF_JNE, R2, -17104896, 1),
BPF_MOV64_REG(R2, R1),
BPF_ALU64_REG(BPF_AND, R2, R3),
BPF_JMP_IMM(BPF_JNE, R2, 0xfefb0000, 1),
BPF_MOV64_REG(R2, R1),
BPF_ALU64_REG(BPF_AND, R2, R3),
BPF_JMP_REG(BPF_JNE, R2, R4, 1),
BPF_ALU64_IMM(BPF_MOV, R2, R2), \
BPF_JMP_IMM(BPF_JNE, R2, R2, 8), \
BPF_ALU64_IMM(BPF_MOV, R2, 2), \
BPF_JMP_IMM(BPF_JNE, R2, 2, 8), \
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),\
BPF_ALU32_REG(BPF_##op, R2, R1), \
BPF_ALU64_REG(BPF_MOV, R2, R1),
BPF_ALU64_REG(BPF_SUB, R1, R2),
BPF_ALU64_REG(BPF_MOV, R2, R1),
BPF_ALU64_IMM(BPF_RSH, R2, 32),
BPF_ALU64_REG(BPF_OR, R1, R2),
BPF_ALU64_REG(BPF_MOV, R2, R0), \
BPF_ALU64_REG(BPF_SUB, R0, R2), \
BPF_LD_IMM64(R2, TAIL_CALL_MARKER), \
BPF_ALU64_IMM(BPF_MOV, R2, 2),
BPF_STX_MEM(BPF_DW, R3, R2, -16),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LDX_MEM(BPF_W, R2, R1, 0),
BPF_ALU64_IMM(BPF_ADD, R2, 1),
BPF_STX_MEM(BPF_W, R1, R2, 0),
BPF_LDX_MEM(BPF_W, R2, R1, 0),
BPF_ALU64_IMM(BPF_ADD, R2, 1),
BPF_STX_MEM(BPF_W, R1, R2, 0),
BPF_LDX_MEM(BPF_W, R2, R1, 0),
BPF_ALU64_IMM(BPF_ADD, R2, 1),
BPF_STX_MEM(BPF_W, R1, R2, 0),
BPF_LDX_MEM(BPF_W, R2, R1, 0),
BPF_ALU64_IMM(BPF_ADD, R2, 1),
BPF_STX_MEM(BPF_W, R1, R2, 0),
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ATOMIC_OP(BPF_DW, op, R10, R2, -8);
insns[i++] = BPF_JMP_REG(BPF_JEQ, R2, R4, 1);
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ATOMIC_OP(BPF_W, op, R10, R2, -4);
insns[i++] = BPF_JMP_REG(BPF_JEQ, R2, R4, 1);
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -8);
insns[i++] = BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -8);
insns[i++] = BPF_JMP_REG(BPF_JEQ, R2, R3, 2);
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R2, -4);
insns[i++] = BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R2, -4);
insns[i++] = BPF_JMP32_REG(BPF_JEQ, R2, R3, 2);
insn[i++] = BPF_ALU32_IMM(BPF_MOV, R2, imm);
insn[i++] = BPF_ALU64_REG(BPF_OR, R2, R3);
insn[i++] = BPF_JMP_REG(BPF_JEQ, R1, R2, 1);
insn[i++] = BPF_ALU32_IMM(BPF_MOV, R2, imm);
insn[i++] = BPF_ALU64_REG(BPF_OR, R2, R3);
insn[i++] = BPF_JMP_REG(BPF_JEQ, R1, R2, 1);
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_JMP_REG(op, R1, R2, 1);
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_JMP32_REG(op, R1, R2, 1);
insns[2] = BPF_ALU64_IMM(BPF_MOV, R2, r2);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JEQ, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JNE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSET, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JGT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JGE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JLT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JLE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSGT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSGE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSLT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSLE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JEQ, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JNE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSET, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JGT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JGE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JLT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JLE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSGT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSGE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSLT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSLE, R1, R2, 0);
BPF_ALU64_IMM(BPF_MOV, R2, 3),
BPF_ALU64_REG(BPF_SUB, R1, R2),
BPF_ALU64_IMM(BPF_MOV, R2, 3),
BPF_ALU64_REG(BPF_MUL, R1, R2),
BPF_ALU32_IMM(BPF_MOV, R2, 3),
BPF_ALU64_REG(BPF_MUL, R1, R2),
BPF_ALU32_IMM(BPF_MOV, R2, 3),
BPF_ALU32_REG(BPF_MUL, R1, R2),
BPF_ALU64_IMM(BPF_MOV, R2, 2),
BPF_ALU64_IMM(BPF_ADD, R2, 20),
BPF_ALU64_IMM(BPF_SUB, R2, 10),
BPF_ALU64_REG(BPF_ADD, R0, R2),
BPF_ALU64_REG(BPF_ADD, R1, R2),
BPF_ALU64_REG(BPF_ADD, R2, R0),
BPF_ALU64_REG(BPF_ADD, R2, R1),
BPF_ALU64_REG(BPF_ADD, R2, R2),
BPF_ALU64_REG(BPF_ADD, R2, R3),
BPF_ALU64_REG(BPF_ADD, R2, R4),
BPF_ALU64_REG(BPF_ADD, R2, R5),
BPF_ALU64_REG(BPF_ADD, R2, R6),
BPF_ALU64_REG(BPF_ADD, R2, R7),
BPF_ALU64_REG(BPF_ADD, R2, R8),
BPF_ALU64_REG(BPF_ADD, R2, R9), /* R2 == 1358 */
BPF_JMP_IMM(BPF_JEQ, R2, 1358, 1),
BPF_ALU64_REG(BPF_ADD, R3, R2),
BPF_ALU64_REG(BPF_ADD, R4, R2),
BPF_ALU64_REG(BPF_ADD, R5, R2),
BPF_ALU64_REG(BPF_ADD, R6, R2),
BPF_ALU64_REG(BPF_ADD, R7, R2),
BPF_ALU64_REG(BPF_ADD, R8, R2),
BPF_ALU64_REG(BPF_ADD, R9, R2),
BPF_ALU32_IMM(BPF_MOV, R2, 2),
BPF_ALU64_IMM(BPF_ADD, R2, 10),
BPF_ALU32_REG(BPF_ADD, R0, R2),
BPF_ALU32_REG(BPF_ADD, R1, R2),
BPF_ALU32_REG(BPF_ADD, R2, R0),
BPF_ALU32_REG(BPF_ADD, R2, R1),
BPF_ALU32_REG(BPF_ADD, R2, R2),
BPF_ALU32_REG(BPF_ADD, R2, R3),
BPF_ALU32_REG(BPF_ADD, R2, R4),
BPF_ALU32_REG(BPF_ADD, R2, R5),
BPF_ALU32_REG(BPF_ADD, R2, R6),
BPF_ALU32_REG(BPF_ADD, R2, R7),
BPF_ALU32_REG(BPF_ADD, R2, R8),
BPF_ALU32_REG(BPF_ADD, R2, R9), /* R2 == 1358 */
BPF_JMP_IMM(BPF_JEQ, R2, 1358, 1),
BPF_ALU32_REG(BPF_ADD, R3, R2),
BPF_ALU32_REG(BPF_ADD, R4, R2),
BPF_ALU32_REG(BPF_ADD, R5, R2),
BPF_ALU32_REG(BPF_ADD, R6, R2),
BPF_ALU32_REG(BPF_ADD, R7, R2),
BPF_ALU32_REG(BPF_ADD, R8, R2),
BPF_ALU32_REG(BPF_ADD, R9, R2),
BPF_ALU64_IMM(BPF_MOV, R2, 2),
BPF_ALU64_REG(BPF_SUB, R0, R2),
BPF_ALU64_REG(BPF_SUB, R1, R2),
BPF_ALU64_REG(BPF_SUB, R2, R0),
BPF_ALU64_REG(BPF_SUB, R2, R1),
BPF_ALU64_REG(BPF_SUB, R2, R3),
BPF_ALU64_REG(BPF_SUB, R2, R4),
BPF_ALU64_REG(BPF_SUB, R2, R5),
BPF_ALU64_REG(BPF_SUB, R2, R6),
BPF_ALU64_REG(BPF_SUB, R2, R7),
BPF_ALU64_REG(BPF_SUB, R2, R8),
BPF_ALU64_REG(BPF_SUB, R2, R9),
BPF_ALU64_IMM(BPF_SUB, R2, 10),
BPF_ALU64_REG(BPF_SUB, R3, R2),
BPF_ALU64_REG(BPF_SUB, R4, R2),
BPF_ALU64_REG(BPF_SUB, R5, R2),
BPF_ALU64_REG(BPF_SUB, R6, R2),
BPF_ALU64_REG(BPF_SUB, R7, R2),
BPF_ALU64_REG(BPF_SUB, R8, R2),
BPF_ALU64_REG(BPF_SUB, R9, R2),
BPF_ALU64_REG(BPF_SUB, R0, R2),
BPF_ALU64_REG(BPF_XOR, R2, R2),
BPF_JMP_REG(BPF_JEQ, R1, R2, 1),
BPF_ALU64_REG(BPF_SUB, R2, R2),
BPF_JMP_REG(BPF_JEQ, R2, R3, 1),
BPF_ALU64_IMM(BPF_MOV, R2, 1),
BPF_ALU64_IMM(BPF_MOV, R2, 2),
BPF_ALU64_REG(BPF_MUL, R0, R2),
BPF_ALU64_REG(BPF_MUL, R1, R2),
BPF_ALU64_REG(BPF_MOV, R2, R1),
BPF_ALU64_IMM(BPF_RSH, R2, 32),
BPF_JMP_IMM(BPF_JEQ, R2, 0x5a924, 1),
BPF_ALU64_REG(BPF_MUL, R2, R0),
BPF_ALU64_REG(BPF_MUL, R2, R1),
BPF_ALU64_REG(BPF_MUL, R2, R3),
BPF_ALU64_REG(BPF_MUL, R2, R4),
BPF_ALU64_REG(BPF_MUL, R2, R5),
BPF_ALU64_REG(BPF_MUL, R2, R6),
BPF_ALU64_REG(BPF_MUL, R2, R7),
BPF_ALU64_REG(BPF_MUL, R2, R8),
BPF_ALU64_REG(BPF_MUL, R2, R9),
BPF_ALU64_IMM(BPF_MUL, R2, 10),
BPF_ALU64_IMM(BPF_RSH, R2, 32),
BPF_ALU64_REG(BPF_MOV, R0, R2),
BPF_MOV64_REG(R2, R1),
BPF_MOV64_REG(R3, R2),
BPF_ALU64_IMM(BPF_MOV, R2, 0),
BPF_ALU64_REG(BPF_ADD, R0, R2),
BPF_MOV64_REG(R2, R1),
BPF_MOV64_REG(R3, R2),
BPF_ALU32_IMM(BPF_MOV, R2, 0),
BPF_ALU64_REG(BPF_ADD, R0, R2),
BPF_MOV64_REG(R2, R1),
BPF_MOV64_REG(R3, R2),
BPF_LD_IMM64(R2, 0x0LL),
BPF_ALU64_REG(BPF_ADD, R0, R2),
BPF_ALU64_IMM(BPF_MOV, R2, 2),
BPF_ALU64_IMM(BPF_XOR, R2, 3),
BPF_ALU64_REG(BPF_DIV, R0, R2),
BPF_MOV64_IMM(R2, 1),
BPF_ALU64_REG(BPF_LSH, R0, R2),
BPF_MOV64_IMM(R2, 1),
BPF_ALU64_REG(BPF_LSH, R4, R2), /* R4 = 46 << 1 */
BPF_MOV64_REG(R2, R1),
BPF_MOV64_REG(R3, R2),
BPF_ALU64_IMM(BPF_RSH, R2, 32),
BPF_JMP_IMM(BPF_JEQ, R2, 0x5678, 1),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU32_IMM(BPF_MOV, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_MOV, R2, 0x0),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_MOV, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x00000000ffffffefLL),
BPF_JMP_REG(BPF_JEQ, R2, R1, 2),
BPF_LD_IMM64(R2, 0x00000000ffffbeefLL),
BPF_JMP_REG(BPF_JEQ, R2, R1, 2),
BPF_LD_IMM64(R2, 0xffffffffffffffefLL),
BPF_JMP_REG(BPF_JEQ, R2, R1, 2),
BPF_LD_IMM64(R2, 0xffffffffffffbeefLL),
BPF_JMP_REG(BPF_JEQ, R2, R1, 2),
BPF_LD_IMM64(R2, 0xffffffffdeadbeefLL),
BPF_JMP_REG(BPF_JEQ, R2, R1, 2),
BPF_LD_IMM64(R2, 4294967296ULL),
BPF_JMP_REG(BPF_JEQ, R0, R2, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU32_IMM(BPF_ADD, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU32_IMM(BPF_ADD, R2, 0xffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU32_IMM(BPF_ADD, R2, 0x7fffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU32_IMM(BPF_ADD, R2, 0x80000000),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU32_IMM(BPF_ADD, R2, 0x80008000),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x1),
BPF_ALU64_IMM(BPF_ADD, R2, 0x0),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU64_IMM(BPF_ADD, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU64_IMM(BPF_ADD, R2, 0xffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU64_IMM(BPF_ADD, R2, 0x7fffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU64_IMM(BPF_ADD, R2, 0x80000000),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0),
BPF_ALU64_IMM(BPF_ADD, R2, 0x80008000),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x1),
BPF_ALU32_IMM(BPF_MUL, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x1),
BPF_ALU64_IMM(BPF_MUL, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
BPF_ALU64_REG(BPF_DIV, R2, R4),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
BPF_ALU32_IMM(BPF_DIV, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
BPF_ALU64_IMM(BPF_DIV, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_AND, R2, 0x0),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
insn[i++] = BPF_ALU64_IMM(BPF_MOV, R2, imm);
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_AND, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
BPF_ALU64_IMM(BPF_AND, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
insn[i++] = BPF_ALU32_REG(op, R1, R2);
insn[i++] = BPF_ALU64_REG(op, R1, R2);
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_OR, R2, 0x0),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_OR, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000000000000000LL),
BPF_ALU64_IMM(BPF_OR, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_XOR, R2, 0x0),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
BPF_ALU64_IMM(BPF_XOR, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0x0000000000000000LL),
BPF_ALU64_IMM(BPF_XOR, R2, 0xffffffff),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
i += __bpf_ld_imm64(&insn[i], R2, res);
insn[i++] = BPF_JMP_REG(BPF_JEQ, R1, R2, 1);
BPF_LD_IMM64(R2, 0x0000000000000008ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x0000000000000088ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_B, R1, R2, -256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_B, R1, R2, 256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_B, R1, R2, 4096),
BPF_LD_IMM64(R2, 0x0000000000000708ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x0000000000008788ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_H, R1, R2, -256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_H, R1, R2, 256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_H, R1, R2, 8192),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_H, R1, R2, 13),
BPF_LD_IMM64(R2, 0x0000000005060708ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x0000000085868788ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_W, R1, R2, -256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_W, R1, R2, 256),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_W, R1, R2, 16384),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_W, R1, R2, 13),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_DW, R1, R2, -256),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_DW, R1, R2, 256),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_DW, R1, R2, 32760),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_DW, R1, R2, 13),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0xfffffffffffffff0ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0xfffffffffffff123ULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0xffffffffdeadbeefULL),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_LD_IMM64(R2, 0x0102030405060708ULL),
BPF_STX_MEM(BPF_B, R10, R2, -1),
BPF_STX_MEM(BPF_B, R10, R2, -8),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_B, R10, R2, -1),
BPF_STX_MEM(BPF_B, R10, R2, -8),
BPF_LD_IMM64(R2, 0x0102030405060708ULL),
BPF_STX_MEM(BPF_H, R10, R2, -2),
BPF_STX_MEM(BPF_H, R10, R2, -8),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_H, R10, R2, -2),
BPF_STX_MEM(BPF_H, R10, R2, -8),
BPF_LD_IMM64(R2, 0x0102030405060708ULL),
BPF_STX_MEM(BPF_W, R10, R2, -4),
BPF_STX_MEM(BPF_W, R10, R2, -8),
BPF_LD_IMM64(R2, 0x8182838485868788ULL),
BPF_STX_MEM(BPF_W, R10, R2, -4),
BPF_STX_MEM(BPF_W, R10, R2, -8),
BPF_LD_IMM64(R2, 0xffff00000000ffffLL),
BPF_LDX_MEM(BPF_DW, R2, R10, -40),
BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),
BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),
BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_ALU64_REG(BPF_SUB, R0, R2),
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),
BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),
BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
BPF_LD_IMM64(R2, 0xfedcba9876543210ULL),
BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
BPF_JMP_REG(BPF_JNE, R0, R2, 1),
BPF_ALU64_REG(BPF_SUB, R0, R2),
i += __bpf_ld_imm64(&insns[i], R2, src);
insns[i++] = BPF_ALU64_REG(op, R1, R2);
u8 bval, R1 = 0, R2;
R2 = bval & 0x1F;
if (R2 != R1)
R1 = R2;
if (R2 >= 0x0b && R2 <= 0x0e) {
} else if (R2 == 0x12) {