_R3
err = patch_instruction(site, ppc_inst(PPC_RAW_LI(_R3, 0)));
PPC_LI_ADDR(_R3, im);
EMIT(PPC_RAW_LL(_R3, _R1, retval_off));
PPC_LI64(_R3, l->cookie);
EMIT(PPC_RAW_STD(_R3, _R1, run_ctx_off + offsetof(struct bpf_tramp_run_ctx,
PPC_LI32(_R3, l->cookie >> 32);
EMIT(PPC_RAW_STW(_R3, _R1,
PPC_LI_ADDR(_R3, p);
EMIT(PPC_RAW_MR(_R25, _R3));
EMIT(PPC_RAW_MR(_R26, _R3));
EMIT(PPC_RAW_CMPLI(_R3, 0));
EMIT(PPC_RAW_ADDI(_R3, _R1, regs_off));
EMIT(PPC_RAW_STL(_R3, _R1, retval_off));
EMIT(PPC_RAW_MR(_R3, _R25));
EMIT(PPC_RAW_LI(_R3, 0));
EMIT(PPC_RAW_STL(_R3, _R1, retval_off));
EMIT(PPC_RAW_LL(_R3, _R1, retval_off));
EMIT(PPC_RAW_CMPLI(_R3, 0));
EMIT(PPC_RAW_LD(_R3, _R4, -BPF_PPC_TAILCALL));
EMIT(PPC_RAW_CMPLWI(_R3, MAX_TAIL_CALL_CNT));
EMIT(PPC_RAW_ADDI(_R3, _R4, -BPF_PPC_TAILCALL));
EMIT(PPC_RAW_STL(_R3, _R1, bpf_frame_size - BPF_PPC_TAILCALL));
EMIT(PPC_RAW_STL(_R3 + i, _R1, regs_off + i * SZL));
EMIT(PPC_RAW_LL(_R3, _R1, param_save_area_offset + i * SZL));
EMIT(PPC_RAW_STL(_R3, _R1, regs_off + i * SZL));
EMIT(PPC_RAW_LL(_R3 + i, _R1, regs_off + i * SZL));
EMIT(PPC_RAW_LL(_R3, _R1, param_save_area_offset + i * SZL));
EMIT(PPC_RAW_STL(_R3, _R1, STACK_FRAME_MIN_SIZE + i * SZL));
EMIT(PPC_RAW_MFLR(_R3));
EMIT(PPC_RAW_STL(_R3, _R1, alt_lr_off));
EMIT(PPC_RAW_STL(_R3, _R1, retaddr_off));
EMIT(PPC_RAW_LWZ(_R4, _R3, 4));
EMIT(PPC_RAW_ADD(_R3, _R3, _R4));
EMIT(PPC_RAW_STL(_R3, _R1, ip_off));
EMIT(PPC_RAW_ADDI(_R3, _R3, 4));
EMIT(PPC_RAW_STL(_R3, _R1, retaddr_off));
EMIT(PPC_RAW_LI(_R3, nr_regs));
EMIT(PPC_RAW_STL(_R3, _R1, nregs_off));
PPC_LI_ADDR(_R3, (unsigned long)im);
EMIT(PPC_RAW_LL(_R3, _R1, retaddr_off));
EMIT(PPC_RAW_MTCTR(_R3));
EMIT(PPC_RAW_STL(_R3, _R1, retval_off));
EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_0) - 1, _R3));
EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_1), _R3));
EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_0)));
EMIT(PPC_RAW_RLWINM(_R3, b2p_index, 2, 0, 29));
EMIT(PPC_RAW_ADD(_R3, _R3, b2p_bpf_array));
EMIT(PPC_RAW_LWZ(_R3, _R3, offsetof(struct bpf_array, ptrs)));
EMIT(PPC_RAW_CMPLWI(_R3, 0));
EMIT(PPC_RAW_LWZ(_R3, _R3, offsetof(struct bpf_prog, bpf_func)));
EMIT(PPC_RAW_ADDIC(_R3, _R3, BPF_TAILCALL_PROLOGUE_SIZE));
EMIT(PPC_RAW_MTCTR(_R3));
EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_1)));
EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_0), _R3));
EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_0)));
ctx->b2p[BPF_REG_1] = _R3;