Lines Matching refs:paoff
401 static void emit_jump(s32 paoff, bool force_far,
407 if (relative_bits_ok(paoff - HPPA_BRANCH_DISPLACEMENT, 17)) {
409 emit(hppa_bl(paoff - HPPA_BRANCH_DISPLACEMENT, HPPA_REG_ZERO), ctx);
416 addr = pc + (paoff * HPPA_INSN_SIZE);
699 static int emit_branch_r64(const s8 *src1, const s8 *src2, s32 paoff,
784 paoff -= (e - s);
785 emit_jump(paoff, true, ctx);
789 static int emit_bcc(u8 op, u8 rd, u8 rs, int paoff, struct hppa_jit_context *ctx)
801 paoff -= 1; /* reduce offset due to hppa_and() above */
809 if (!relative_bits_ok(paoff - HPPA_BRANCH_DISPLACEMENT, 12)) {
817 * For a near branch, just use paoff.
819 off = far ? (HPPA_BRANCH_DISPLACEMENT - 1) : paoff - HPPA_BRANCH_DISPLACEMENT;
860 paoff -= (e - s);
861 emit_jump(paoff, true, ctx);
866 static int emit_branch_r32(const s8 *src1, const s8 *src2, s32 paoff,
878 paoff -= (e - s);
880 if (emit_bcc(op, lo(rs1), lo(rs2), paoff, ctx))
1121 int s, e, paoff, i = insn - ctx->prog->insnsi;
1300 paoff = hppa_offset(i, off, ctx);
1301 emit_jump(paoff, false, ctx);
1378 paoff = hppa_offset(i, off, ctx);
1384 paoff -= (e - s);
1387 emit_branch_r64(dst, src, paoff, ctx, BPF_OP(code));
1389 emit_branch_r32(dst, src, paoff, ctx, BPF_OP(code));