Lines Matching refs:ctx

62 static u8 bpf_to_hppa_reg(int bpf_reg, struct hppa_jit_context *ctx)
66 REG_SET_SEEN(ctx, reg);
70 static void emit_hppa_copy(const s8 rs, const s8 rd, struct hppa_jit_context *ctx)
72 REG_SET_SEEN(ctx, rd);
75 REG_SET_SEEN(ctx, rs);
76 emit(hppa_copy(rs, rd), ctx);
79 static void emit_hppa64_depd(u8 src, u8 pos, u8 len, u8 target, bool no_zero, struct hppa_jit_context *ctx)
89 emit(hppa_t10_insn(0x3c, target, src, 0, c, pos & 0x1f, len & 0x1f), ctx);
92 static void emit_hppa64_shld(u8 src, int num, u8 target, struct hppa_jit_context *ctx)
94 emit_hppa64_depd(src, 63-num, 64-num, target, 0, ctx);
97 static void emit_hppa64_extrd(u8 src, u8 pos, u8 len, u8 target, bool signed_op, struct hppa_jit_context *ctx)
106 emit(hppa_t10_insn(0x36, src, target, 0, c, pos & 0x1f, len & 0x1f), ctx);
109 static void emit_hppa64_extrw(u8 src, u8 pos, u8 len, u8 target, bool signed_op, struct hppa_jit_context *ctx)
116 emit(hppa_t10_insn(0x34, src, target, 0, c, pos, len), ctx);
119 #define emit_hppa64_zext32(r, target, ctx) \
120 emit_hppa64_extrd(r, 63, 32, target, false, ctx)
121 #define emit_hppa64_sext32(r, target, ctx) \
122 emit_hppa64_extrd(r, 63, 32, target, true, ctx)
124 static void emit_hppa64_shrd(u8 src, int num, u8 target, bool signed_op, struct hppa_jit_context *ctx)
126 emit_hppa64_extrd(src, 63-num, 64-num, target, signed_op, ctx);
129 static void emit_hppa64_shrw(u8 src, int num, u8 target, bool signed_op, struct hppa_jit_context *ctx)
131 emit_hppa64_extrw(src, 31-num, 32-num, target, signed_op, ctx);
135 static void emit_imm32(u8 rd, s32 imm, struct hppa_jit_context *ctx)
139 REG_SET_SEEN(ctx, rd);
141 emit(hppa_ldi(imm, rd), ctx);
145 emit(hppa_ldo(lower, HPPA_REG_ZERO, rd), ctx);
148 emit(hppa_ldil(imm, rd), ctx);
151 emit(hppa_ldo(lower, rd, rd), ctx);
160 static void emit_imm(u8 rd, s64 imm, u8 tmpreg, struct hppa_jit_context *ctx)
165 emit_imm32(rd, imm, ctx);
174 emit_imm32(tmpreg, upper32, ctx);
175 emit_hppa64_depd(tmpreg, 31, 32, rd, 1, ctx);
177 emit_hppa64_depd(HPPA_REG_ZERO, 31, 32, rd, 1, ctx);
182 struct hppa_jit_context *ctx)
189 emit(hppa64_bl_long(paoff - HPPA_BRANCH_DISPLACEMENT), ctx);
191 emit(hppa_nop(), ctx);
195 pc = (uintptr_t) &ctx->insns[ctx->ninsns];
200 emit(hppa_ldil(addr, HPPA_REG_R31), ctx);
201 emit(hppa_be_l(im11(addr) >> 2, HPPA_REG_R31, NOP_NEXT_INSTR), ctx);
205 static void __build_epilogue(bool is_tail_call, struct hppa_jit_context *ctx)
216 emit(hppa_ldo(1 * HPPA_INSN_SIZE, HPPA_REG_T0, HPPA_REG_T0), ctx);
217 emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_T0, EXEC_NEXT_INSTR), ctx);
219 emit(hppa_copy(HPPA_REG_TCC, HPPA_REG_TCC_IN_INIT), ctx);
226 emit(EXIT_PTR_LOAD(HPPA_REG_RP), ctx);
227 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx);
230 emit_hppa64_sext32(regmap[BPF_REG_0], HPPA_REG_RET0, ctx);
234 if (OPTIMIZE_HPPA && !REG_WAS_SEEN(ctx, HPPA_R(i)))
236 emit(hppa64_ldd_im16(-REG_SIZE * i, HPPA_REG_SP, HPPA_R(i)), ctx);
240 emit(hppa64_ldd_im16(-2*REG_SIZE, HPPA_REG_SP, HPPA_REG_RP), ctx);
241 emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_RP, EXEC_NEXT_INSTR), ctx);
243 emit(hppa64_ldd_im5(-REG_SIZE, HPPA_REG_SP, HPPA_REG_SP), ctx);
245 emit(hppa_nop(), ctx); // XXX WARUM einer zu wenig ??
249 struct hppa_jit_context *ctx)
260 emit(hppa_and(rd, rs, HPPA_REG_T0), ctx);
268 s = ctx->ninsns;
285 emit(hppa_beq(rd, rs, off), ctx);
288 emit(hppa_bgtu(rd, rs, off), ctx);
291 emit(hppa_bltu(rd, rs, off), ctx);
294 emit(hppa_bgeu(rd, rs, off), ctx);
297 emit(hppa_bleu(rd, rs, off), ctx);
300 emit(hppa_bne(rd, rs, off), ctx);
303 emit(hppa_bgt(rd, rs, off), ctx);
306 emit(hppa_blt(rd, rs, off), ctx);
309 emit(hppa_bge(rd, rs, off), ctx);
312 emit(hppa_ble(rd, rs, off), ctx);
320 e = ctx->ninsns;
323 ret = emit_jump(paoff, true, ctx);
331 emit(hppa_nop(), ctx);
332 emit(hppa_nop(), ctx);
337 static void emit_zext_32(u8 reg, struct hppa_jit_context *ctx)
339 emit_hppa64_zext32(reg, reg, ctx);
342 static void emit_bpf_tail_call(int insn, struct hppa_jit_context *ctx)
345 * R1 -> &ctx
356 REG_SET_SEEN_ALL(ctx);
359 emit(EXIT_PTR_LOAD(HPPA_REG_RP), ctx);
364 emit(hppa_ldw(off, arr_reg, HPPA_REG_T1), ctx);
370 emit(hppa_bltu(idx_reg, HPPA_REG_T1, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
371 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx);
377 REG_FORCE_SEEN(ctx, HPPA_REG_TCC);
378 emit(hppa_ldo(-1, HPPA_REG_TCC, HPPA_REG_TCC), ctx);
379 emit(hppa_bge(HPPA_REG_TCC, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
380 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx);
388 emit(hppa64_shladd(idx_reg, 3, arr_reg, HPPA_REG_T0), ctx);
391 emit(hppa64_ldd_im16(off, HPPA_REG_T0, HPPA_REG_T0), ctx);
392 emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
393 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx);
402 emit(hppa64_ldd_im16(off, HPPA_REG_T0, HPPA_REG_T0), ctx);
404 __build_epilogue(true, ctx);
408 struct hppa_jit_context *ctx)
419 *rd = bpf_to_hppa_reg(insn->dst_reg, ctx);
425 *rs = bpf_to_hppa_reg(insn->src_reg, ctx);
428 static void emit_zext_32_rd_rs(u8 *rd, u8 *rs, struct hppa_jit_context *ctx)
430 emit_hppa64_zext32(*rd, HPPA_REG_T2, ctx);
432 emit_hppa64_zext32(*rs, HPPA_REG_T1, ctx);
436 static void emit_sext_32_rd_rs(u8 *rd, u8 *rs, struct hppa_jit_context *ctx)
438 emit_hppa64_sext32(*rd, HPPA_REG_T2, ctx);
440 emit_hppa64_sext32(*rs, HPPA_REG_T1, ctx);
444 static void emit_zext_32_rd_t1(u8 *rd, struct hppa_jit_context *ctx)
446 emit_hppa64_zext32(*rd, HPPA_REG_T2, ctx);
448 emit_zext_32(HPPA_REG_T1, ctx);
451 static void emit_sext_32_rd(u8 *rd, struct hppa_jit_context *ctx)
453 emit_hppa64_sext32(*rd, HPPA_REG_T2, ctx);
463 static void emit_call(u64 addr, bool fixed, struct hppa_jit_context *ctx)
467 emit(hppa_ldo(offset_sp, HPPA_REG_SP, HPPA_REG_SP), ctx);
469 emit_hppa_copy(regmap[BPF_REG_1], HPPA_REG_ARG0, ctx);
470 emit_hppa_copy(regmap[BPF_REG_2], HPPA_REG_ARG1, ctx);
471 emit_hppa_copy(regmap[BPF_REG_3], HPPA_REG_ARG2, ctx);
472 emit_hppa_copy(regmap[BPF_REG_4], HPPA_REG_ARG3, ctx);
473 emit_hppa_copy(regmap[BPF_REG_5], HPPA_REG_ARG4, ctx);
476 REG_FORCE_SEEN(ctx, HPPA_REG_TCC_SAVED);
477 if (REG_WAS_SEEN(ctx, HPPA_REG_TCC))
478 emit(hppa_copy(HPPA_REG_TCC, HPPA_REG_TCC_SAVED), ctx);
487 emit(hppa_ldil(addr, HPPA_REG_R31), ctx);
488 emit(hppa_ldo(im11(addr), HPPA_REG_R31, HPPA_REG_R31), ctx);
490 HPPA_REG_R31, HPPA_REG_RP), ctx);
491 emit(hppa64_bve_l_rp(HPPA_REG_RP), ctx);
493 HPPA_REG_R31, HPPA_REG_GP), ctx);
496 if (REG_WAS_SEEN(ctx, HPPA_REG_TCC))
497 emit(hppa_copy(HPPA_REG_TCC_SAVED, HPPA_REG_TCC), ctx);
499 emit(hppa_ldo(-offset_sp, HPPA_REG_SP, HPPA_REG_SP), ctx);
502 emit_hppa_copy(HPPA_REG_RET0, regmap[BPF_REG_0], ctx);
506 const s8 arg1, u8 opcode, struct hppa_jit_context *ctx)
511 emit_hppa64_zext32(arg0, HPPA_REG_ARG0, ctx);
512 emit_hppa64_zext32(arg1, HPPA_REG_ARG1, ctx);
514 emit_hppa_copy(arg0, HPPA_REG_ARG0, ctx);
515 emit_hppa_copy(arg1, HPPA_REG_ARG1, ctx);
520 REG_SET_SEEN(ctx, HPPA_REG_TCC_SAVED);
521 emit(hppa_copy(HPPA_REG_RET0, HPPA_REG_TCC_SAVED), ctx);
525 emit(hppa_ldo(FRAME_SIZE, HPPA_REG_SP, HPPA_REG_SP), ctx);
529 emit_imm(HPPA_REG_R31, func_addr, arg0, ctx);
531 HPPA_REG_R31, HPPA_REG_RP), ctx);
535 emit_hppa_copy(HPPA_REG_ZERO, HPPA_REG_RET0, ctx);
537 emit_hppa_copy(HPPA_REG_ARG0, HPPA_REG_RET0, ctx);
539 emit(hppa_beq(HPPA_REG_ARG1, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
541 emit(hppa64_bve_l_rp(HPPA_REG_RP), ctx);
543 HPPA_REG_R31, HPPA_REG_GP), ctx);
545 emit(hppa_ldo(-FRAME_SIZE, HPPA_REG_SP, HPPA_REG_SP), ctx);
547 emit_hppa_copy(HPPA_REG_RET0, arg0, ctx);
551 emit(hppa_copy(HPPA_REG_TCC_SAVED, HPPA_REG_RET0), ctx);
555 struct hppa_jit_context *ctx, const u8 size,
566 emit(hppa_addil(off, rd), ctx);
572 emit(hppa_stb(rs, off, dstreg), ctx);
575 emit(hppa_sth(rs, off, dstreg), ctx);
578 emit(hppa_stw(rs, off, dstreg), ctx);
582 emit(hppa_ldo(off, dstreg, HPPA_REG_R1), ctx);
583 emit(hppa64_std_im5(rs, 0, HPPA_REG_R1), ctx);
585 emit(hppa64_std_im5(rs, off, dstreg), ctx);
587 emit(hppa64_std_im16(rs, off, dstreg), ctx);
592 int bpf_jit_emit_insn(const struct bpf_insn *insn, struct hppa_jit_context *ctx,
597 int s, e, ret, i = insn - ctx->prog->insnsi;
599 struct bpf_prog_aux *aux = ctx->prog->aux;
604 init_regs(&rd, &rs, insn, ctx);
612 emit_zext_32(rd, ctx);
616 emit_hppa64_zext32(rs, rd, ctx);
618 emit_hppa_copy(rs, rd, ctx);
624 emit(hppa_add(rd, rs, rd), ctx);
626 emit_zext_32(rd, ctx);
630 emit(hppa_sub(rd, rs, rd), ctx);
632 emit_zext_32(rd, ctx);
636 emit(hppa_and(rd, rs, rd), ctx);
638 emit_zext_32(rd, ctx);
642 emit(hppa_or(rd, rs, rd), ctx);
644 emit_zext_32(rd, ctx);
648 emit(hppa_xor(rd, rs, rd), ctx);
650 emit_zext_32(rd, ctx);
654 emit_imm(HPPA_REG_T1, is64 ? (s64)(s32)imm : (u32)imm, HPPA_REG_T2, ctx);
659 emit_call_libgcc_ll(__muldi3, rd, rs, code, ctx);
661 emit_zext_32(rd, ctx);
665 emit_imm(HPPA_REG_T1, is64 ? (s64)(s32)imm : (u32)imm, HPPA_REG_T2, ctx);
670 emit_call_libgcc_ll(&hppa_div64, rd, rs, code, ctx);
672 emit_zext_32(rd, ctx);
676 emit_imm(HPPA_REG_T1, is64 ? (s64)(s32)imm : (u32)imm, HPPA_REG_T2, ctx);
681 emit_call_libgcc_ll(&hppa_div64_rem, rd, rs, code, ctx);
683 emit_zext_32(rd, ctx);
688 emit_hppa64_sext32(rs, HPPA_REG_T0, ctx);
689 emit(hppa64_mtsarcm(HPPA_REG_T0), ctx);
691 emit(hppa64_depdz_sar(rd, rd), ctx);
693 emit(hppa_depwz_sar(rd, rd), ctx);
695 emit_zext_32(rd, ctx);
699 emit(hppa_mtsar(rs), ctx);
701 emit(hppa64_shrpd_sar(rd, rd), ctx);
703 emit(hppa_shrpw_sar(rd, rd), ctx);
705 emit_zext_32(rd, ctx);
709 emit_hppa64_sext32(rs, HPPA_REG_T0, ctx);
710 emit(hppa64_mtsarcm(HPPA_REG_T0), ctx);
712 emit(hppa_extrd_sar(rd, rd, 1), ctx);
714 emit(hppa_extrws_sar(rd, rd), ctx);
716 emit_zext_32(rd, ctx);
722 emit(hppa_sub(HPPA_REG_ZERO, rd, rd), ctx);
724 emit_zext_32(rd, ctx);
732 emit_hppa64_depd(HPPA_REG_ZERO, 63-16, 64-16, rd, 1, ctx);
736 emit_zext_32(rd, ctx);
747 emit(hppa_extru(rd, 31 - 8, 8, HPPA_REG_T1), ctx);
748 emit(hppa_depwz(rd, 23, 8, HPPA_REG_T1), ctx);
749 emit(hppa_extru(HPPA_REG_T1, 31, 16, rd), ctx);
750 emit_hppa64_extrd(HPPA_REG_T1, 63, 16, rd, 0, ctx);
753 emit(hppa_shrpw(rd, rd, 16, HPPA_REG_T1), ctx);
754 emit_hppa64_depd(HPPA_REG_T1, 63-16, 8, HPPA_REG_T1, 1, ctx);
755 emit(hppa_shrpw(rd, HPPA_REG_T1, 8, HPPA_REG_T1), ctx);
756 emit_hppa64_extrd(HPPA_REG_T1, 63, 32, rd, 0, ctx);
759 emit(hppa64_permh_3210(rd, HPPA_REG_T1), ctx);
760 emit(hppa64_hshl(HPPA_REG_T1, 8, HPPA_REG_T2), ctx);
761 emit(hppa64_hshr_u(HPPA_REG_T1, 8, HPPA_REG_T1), ctx);
762 emit(hppa_or(HPPA_REG_T2, HPPA_REG_T1, rd), ctx);
773 emit_imm(rd, imm, HPPA_REG_T2, ctx);
775 emit_zext_32(rd, ctx);
782 emit(hppa_ldo(imm, rd, rd), ctx);
784 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
785 emit(hppa_add(rd, HPPA_REG_T1, rd), ctx);
788 emit_zext_32(rd, ctx);
793 emit(hppa_ldo(-imm, rd, rd), ctx);
795 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
796 emit(hppa_sub(rd, HPPA_REG_T1, rd), ctx);
799 emit_zext_32(rd, ctx);
803 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
804 emit(hppa_and(rd, HPPA_REG_T1, rd), ctx);
806 emit_zext_32(rd, ctx);
810 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
811 emit(hppa_or(rd, HPPA_REG_T1, rd), ctx);
813 emit_zext_32(rd, ctx);
817 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
818 emit(hppa_xor(rd, HPPA_REG_T1, rd), ctx);
820 emit_zext_32(rd, ctx);
825 emit_hppa64_shld(rd, imm, rd, ctx);
829 emit_zext_32(rd, ctx);
835 emit_hppa64_shrd(rd, imm, rd, false, ctx);
837 emit_hppa64_shrw(rd, imm, rd, false, ctx);
841 emit_zext_32(rd, ctx);
847 emit_hppa64_shrd(rd, imm, rd, true, ctx);
849 emit_hppa64_shrw(rd, imm, rd, true, ctx);
853 emit_zext_32(rd, ctx);
858 paoff = hppa_offset(i, off, ctx);
859 ret = emit_jump(paoff, false, ctx);
887 paoff = hppa_offset(i, off, ctx);
889 s = ctx->ninsns;
891 emit_sext_32_rd_rs(&rd, &rs, ctx);
893 emit_zext_32_rd_rs(&rd, &rs, ctx);
894 e = ctx->ninsns;
902 emit(hppa_and(rs, rd, HPPA_REG_T1), ctx);
904 ctx);
906 emit_branch(BPF_OP(code), rd, rs, paoff, ctx);
931 paoff = hppa_offset(i, off, ctx);
932 s = ctx->ninsns;
934 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
941 emit_sext_32_rd(&rd, ctx);
943 emit_zext_32_rd_t1(&rd, ctx);
945 e = ctx->ninsns;
949 emit_branch(BPF_OP(code), rd, rs, paoff, ctx);
953 paoff = hppa_offset(i, off, ctx);
954 s = ctx->ninsns;
955 emit_imm(HPPA_REG_T1, imm, HPPA_REG_T2, ctx);
956 emit(hppa_and(HPPA_REG_T1, rd, HPPA_REG_T1), ctx);
962 emit_hppa64_sext32(HPPA_REG_T1, HPPA_REG_T1, ctx);
963 e = ctx->ninsns;
965 emit_branch(BPF_JNE, HPPA_REG_T1, HPPA_REG_ZERO, paoff, ctx);
973 ret = bpf_jit_get_func_addr(ctx->prog, insn, extra_pass,
978 REG_SET_SEEN_ALL(ctx);
979 emit_call(addr, fixed_addr, ctx);
984 emit_bpf_tail_call(i, ctx);
989 if (i == ctx->prog->len - 1)
992 paoff = epilogue_offset(ctx);
993 ret = emit_jump(paoff, false, ctx);
1005 emit_imm(rd, imm64, HPPA_REG_T2, ctx);
1030 emit(hppa_addil(off, rs), ctx);
1036 emit(hppa_ldb(off, srcreg, rd), ctx);
1041 emit(hppa_ldh(off, srcreg, rd), ctx);
1046 emit(hppa_ldw(off, srcreg, rd), ctx);
1052 emit(hppa_ldo(off, srcreg, HPPA_REG_R1), ctx);
1053 emit(hppa64_ldd_reg(HPPA_REG_ZERO, HPPA_REG_R1, rd), ctx);
1055 emit(hppa64_ldd_im5(off, srcreg, rd), ctx);
1057 emit(hppa64_ldd_im16(off, srcreg, rd), ctx);
1078 emit_imm(HPPA_REG_T2, imm, HPPA_REG_T1, ctx);
1082 emit_store(rd, rs, off, ctx, BPF_SIZE(code), BPF_MODE(code));
1100 void bpf_jit_build_prologue(struct hppa_jit_context *ctx)
1110 if (REG_ALL_SEEN(ctx))
1113 bpf_stack_adjust = ctx->prog->aux->stack_depth;
1129 REG_FORCE_SEEN(ctx, HPPA_REG_TCC_IN_INIT);
1130 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_TCC_IN_INIT), ctx);
1135 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_R1), ctx);
1136 emit(hppa_beq(HPPA_REG_TCC_IN_INIT, HPPA_REG_R1, 6 - HPPA_BRANCH_DISPLACEMENT), ctx);
1137 emit(hppa64_bl_long(ctx->prologue_len - 3 - HPPA_BRANCH_DISPLACEMENT), ctx);
1140 addr = (uintptr_t) &ctx->insns[0];
1141 emit(addr >> 32, ctx);
1142 emit(addr & 0xffffffff, ctx);
1146 emit(addr >> 32, ctx);
1147 emit(addr & 0xffffffff, ctx);
1150 emit_hppa_copy(HPPA_REG_SP, HPPA_REG_R1, ctx);
1151 emit(hppa_ldo(stack_adjust, HPPA_REG_SP, HPPA_REG_SP), ctx);
1152 emit(hppa64_std_im5 (HPPA_REG_R1, -REG_SIZE, HPPA_REG_SP), ctx);
1153 emit(hppa64_std_im16(HPPA_REG_RP, -2*REG_SIZE, HPPA_REG_SP), ctx);
1157 if (OPTIMIZE_HPPA && !REG_WAS_SEEN(ctx, HPPA_R(i)))
1159 emit(hppa64_std_im16(HPPA_R(i), -REG_SIZE * i, HPPA_REG_SP), ctx);
1164 if (REG_WAS_SEEN(ctx, regmap[dst]) || \
1165 REG_WAS_SEEN(ctx, HPPA_REG_TCC)) \
1166 emit_hppa_copy(arg, regmap[dst], ctx)
1174 REG_FORCE_SEEN(ctx, HPPA_REG_T0);
1175 REG_FORCE_SEEN(ctx, HPPA_REG_T1);
1176 REG_FORCE_SEEN(ctx, HPPA_REG_T2);
1181 if (REG_WAS_SEEN(ctx, HPPA_REG_TCC))
1182 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_TCC), ctx);
1188 addr = (uintptr_t) &ctx->insns[ctx->epilogue_offset];
1191 emit_imm(HPPA_REG_T2, addr, HPPA_REG_T1, ctx);
1192 emit(EXIT_PTR_STORE(HPPA_REG_T2), ctx);
1196 if (REG_WAS_SEEN(ctx, reg)) {
1197 emit(hppa_ldo(-FRAME_SIZE, HPPA_REG_SP, reg), ctx);
1201 void bpf_jit_build_epilogue(struct hppa_jit_context *ctx)
1203 __build_epilogue(false, ctx);