[LMH] carry bug in usim

Brad Parker brad@heeltoe.com
Wed, 14 Dec 2005 14:04:41 -0500


Hi,

I noticed the other day that when I typed "(+ 1.0 1.1)" into usim I got
the wrong result.  Other floating ops seemed to be ok, but fadd seemed
to be broken.  I fooled around with some tracing and discovered that the
carry code in the ALU was broken. 

I suspect this is also causing the scheduler to crash.  I'm not sure,
but I think that was due to a time overflow problem, also affected by
the add carry.

I have a simple fix. I want to rework that 64 bit code at some point to
use (faster) 32 bit operations, but for now it seems to be right and 1.0
+ 1.1 = 2.1, which is good :-)

just thought I'd mention it.

-brad