HPPA_REG_ZERO
hppa_ldo(im14, HPPA_REG_ZERO, reg) /* ldi val14,reg */
hppa_or(reg, HPPA_REG_ZERO, target) /* copy reg,target */
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit(hppa_copy(HPPA_REG_ZERO, r3), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(reg), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_T0, EXEC_NEXT_INSTR), ctx);
emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_RP, EXEC_NEXT_INSTR), ctx);
emit(hppa_stw(HPPA_REG_ZERO, REG_SIZE * hi(reg), HPPA_REG_SP), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(reg), ctx);
emit_hppa_copy(HPPA_REG_ZERO, HPPA_REG_RET1, ctx);
emit(hppa_or_cond(HPPA_REG_ARG1, HPPA_REG_ZERO, 1, 0, HPPA_REG_ZERO), ctx);
emit_hppa_copy(HPPA_REG_ZERO, HPPA_REG_RET0, ctx);
emit_hppa_copy(HPPA_REG_ZERO, HPPA_REG_RET1, ctx);
emit(hppa_or_cond(HPPA_REG_ARG2, HPPA_REG_ARG3, 1, 0, HPPA_REG_ZERO), ctx);
emit(hppa_bl(paoff - HPPA_BRANCH_DISPLACEMENT, HPPA_REG_ZERO), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, lo(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, lo(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit_hppa_copy(HPPA_REG_ZERO, hi(rd), ctx);
emit(hppa_sub(HPPA_REG_ZERO, lo(rd), lo(rd)), ctx);
emit(hppa_subb(HPPA_REG_ZERO, hi(rd), hi(rd)), ctx);
#define EXIT_PTR_JUMP(reg, nop) hppa_bv(HPPA_REG_ZERO, reg, nop)
emit(hppa_sub(HPPA_REG_ZERO, lo(rd), lo(rd)), ctx); // sub r0,rd,rd
emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, JUMP(1)), ctx);
emit(hppa_beq(HPPA_REG_T1, HPPA_REG_ZERO, NO_JUMP(0)), ctx);
rs = HPPA_REG_ZERO;
emit(hppa_bge(HPPA_REG_TCC, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
emit(hppa64_ldd_reg(HPPA_REG_ZERO, HPPA_REG_R1, rd), ctx);
emit(hppa_ldo(lower, HPPA_REG_ZERO, rd), ctx);
emit_hppa64_depd(HPPA_REG_ZERO, 31, 32, rd, 1, ctx);
emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_T0, EXEC_NEXT_INSTR), ctx);
emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_RP, EXEC_NEXT_INSTR), ctx);
rs = HPPA_REG_ZERO;
emit(hppa_bge(HPPA_REG_TCC, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
emit_hppa_copy(HPPA_REG_ZERO, HPPA_REG_RET0, ctx);
emit(hppa_beq(HPPA_REG_ARG1, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx);
#define EXIT_PTR_JUMP(reg, nop) hppa_bv(HPPA_REG_ZERO, reg, nop)
emit(hppa_sub(HPPA_REG_ZERO, rd, rd), ctx);
emit_hppa64_depd(HPPA_REG_ZERO, 63-16, 64-16, rd, 1, ctx);
emit_branch(BPF_JNE, HPPA_REG_T1, HPPA_REG_ZERO, paoff,
rs = HPPA_REG_ZERO;
emit_branch(BPF_JNE, HPPA_REG_T1, HPPA_REG_ZERO, paoff, ctx);