Revision 274a9e70 target-sh4/translate.c

b/target-sh4/translate.c
115 115
    int i;
116 116
    cpu_fprintf(f, "pc=0x%08x sr=0x%08x pr=0x%08x fpscr=0x%08x\n",
117 117
		env->pc, env->sr, env->pr, env->fpscr);
118
    cpu_fprintf(f, "spc=0x%08x ssr=0x%08x gbr=0x%08x vbr=0x%08x\n",
119
		env->spc, env->ssr, env->gbr, env->vbr);
120
    cpu_fprintf(f, "sgr=0x%08x dbr=0x%08x delayed_pc=0x%08x fpul=0x%08x\n",
121
		env->sgr, env->dbr, env->delayed_pc, env->fpul);
118 122
    for (i = 0; i < 24; i += 4) {
119 123
	cpu_fprintf(f, "r%d=0x%08x r%d=0x%08x r%d=0x%08x r%d=0x%08x\n",
120 124
		    i, env->gregs[i], i + 1, env->gregs[i + 1],
......
1188 1192
    if (old_flags & (DELAY_SLOT | DELAY_SLOT_CONDITIONAL)) {
1189 1193
        if (ctx->flags & DELAY_SLOT_CLEARME) {
1190 1194
            gen_op_store_flags(0);
1195
        } else {
1196
	    /* go out of the delay slot */
1197
	    uint32_t new_flags = ctx->flags;
1198
	    new_flags &= ~(DELAY_SLOT | DELAY_SLOT_CONDITIONAL);
1199
	    gen_op_store_flags(new_flags);
1191 1200
        }
1192 1201
        ctx->flags = 0;
1193 1202
        ctx->bstate = BS_BRANCH;
......
1198 1207
	}
1199 1208

  
1200 1209
    }
1210

  
1211
    /* go into a delay slot */
1212
    if (ctx->flags & (DELAY_SLOT | DELAY_SLOT_CONDITIONAL))
1213
        gen_op_store_flags(ctx->flags);
1201 1214
}
1202 1215

  
1203 1216
static inline void

Also available in: Unified diff