Revision cfa90513

b/target-sparc/translate.c
912 912
static inline void save_state(DisasContext *dc, TCGv cond)
913 913
{
914 914
    tcg_gen_movi_tl(cpu_pc, dc->pc);
915
    /* flush pending conditional evaluations before exposing cpu state */
916
    if (dc->cc_op != CC_OP_FLAGS) {
917
        dc->cc_op = CC_OP_FLAGS;
918
        gen_helper_compute_psr();
919
    }
915 920
    save_npc(dc, cond);
916 921
}
917 922

  
......
4110 4115
        {
4111 4116
            unsigned int xop = GET_FIELD(insn, 7, 12);
4112 4117

  
4118
            /* flush pending conditional evaluations before exposing
4119
               cpu state */
4120
            if (dc->cc_op != CC_OP_FLAGS) {
4121
                dc->cc_op = CC_OP_FLAGS;
4122
                gen_helper_compute_psr();
4123
            }
4113 4124
            cpu_src1 = get_src1(insn, cpu_src1);
4114 4125
            if (xop == 0x3c || xop == 0x3e) { // V9 casa/casxa
4115 4126
                rs2 = GET_FIELD(insn, 27, 31);

Also available in: Unified diff