Fix CR save/restore in EmulOp thunk. I don't know what it fixes for real

but that was definitely wrong to only preserve CR2 there.
This commit is contained in:
gbeauche 2005-06-30 07:34:17 +00:00
parent ea42af0568
commit 55f5e3a41b

View File

@ -269,7 +269,7 @@ void sheepshaver_cpu::execute_emul_op(uint32 emul_op)
for (int i = 0; i < 7; i++)
r68.a[i] = gpr(16 + i);
r68.a[7] = gpr(1);
uint32 saved_cr = get_cr() & CR_field<2>::mask();
uint32 saved_cr = get_cr() & 0xff9fffff; // mask_operand::compute(11, 8)
uint32 saved_xer = get_xer();
EmulOp(&r68, gpr(24), emul_op);
set_cr(saved_cr);