Port-sun3 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: TME fpu problem
On Mon, Dec 09, 2013 at 10:30:25PM +0900, Izumi Tsutsui wrote:
> Probably TME (or its compiler) problem.
Something(tm) seems to set TME_M6888X_FPSR_EXC_INEX2, but I have not been
able to track it down yet.
This happens (quite often) in _tme_ieee754_strict_extended80_rint()
and while running top once in _tme_ieee754_strict_double_from_extended80().
Before I could use the debug version of TME I had to apply the patch below
(which clearly is incorrect) - the assert would otherwise trigger during
a cas32.
Can someone more m68k-savy maybe help fix (both)?
Martin
--- ic/m68k/m68k-execute.c.orig 2013-12-09 21:38:30.000000000 +0100
+++ ic/m68k/m68k-execute.c 2013-12-09 21:16:41.000000000 +0100
@@ -816,9 +816,11 @@
|| (ic->_tme_m68k_mode_flags & TME_M68K_EXECUTION_INST_CANFAULT)) {
transfer_next_before =
ic->_tme_m68k_sequence._tme_m68k_sequence_transfer_next;
(*func)(ic, TME_M68K_OPCODE_OP0_WHICH(ic, params),
TME_M68K_OPCODE_OP1_WHICH(ic, params));
+#if 0
assert(!(ic->_tme_m68k_mode_flags & TME_M68K_EXECUTION_INST_CANFAULT)
!= (ic->_tme_m68k_sequence._tme_m68k_sequence_transfer_next
!= transfer_next_before));
+#endif
ic->_tme_m68k_mode_flags &= ~TME_M68K_EXECUTION_INST_CANFAULT;
}
Home |
Main Index |
Thread Index |
Old Index