Revision d2856f1a target-sparc/translate.c

b/target-sparc/translate.c
4659 4659
                                              gregnames[i]);
4660 4660
    }
4661 4661
}
4662

  
4663
void gen_pc_load(CPUState *env, TranslationBlock *tb,
4664
                unsigned long searched_pc, int pc_pos, void *puc)
4665
{
4666
    target_ulong npc;
4667
    env->pc = gen_opc_pc[pc_pos];
4668
    npc = gen_opc_npc[pc_pos];
4669
    if (npc == 1) {
4670
        /* dynamic NPC: already stored */
4671
    } else if (npc == 2) {
4672
        target_ulong t2 = (target_ulong)(unsigned long)puc;
4673
        /* jump PC: use T2 and the jump targets of the translation */
4674
        if (t2)
4675
            env->npc = gen_opc_jump_pc[0];
4676
        else
4677
            env->npc = gen_opc_jump_pc[1];
4678
    } else {
4679
        env->npc = npc;
4680
    }
4681
}

Also available in: Unified diff