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