On Mon, Jul 10, 2006 at 11:55:53PM +0900, Atsushi Nemoto wrote: > On Fri, 7 Jul 2006 17:58:44 +0100 (BST), "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> wrote: > > mfc0 k0, CP0_CAUSE > > MFC0 k1, CP0_EPC > > bltz k0, handle_ri_slow /* if delay slot */ > > lui k0, 0x7c03 > > I noticed that checking for CP0_CAUSE.BD is unneeded, since we are > checking the instruction code anyway and "rdhwr" does not have a delay > slot. I removed the checking on the "take 2" patch I just sent. Isn't BD "this instruction is in a delay slot", not "this instruction has a delay slot"? It affects where we go when we return. BTW, if the fast emulation can't handle rdhwr in a delay slot, please report a bug on GCC asking it not to put rdhwr in delay slots by default. It's probably worthwhile. -- Daniel Jacobowitz CodeSourcery