[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gforth] Strange behavior of f! etc. - fixed
From: |
Dennis Ruffer |
Subject: |
Re: [gforth] Strange behavior of f! etc. - fixed |
Date: |
Mon, 13 Feb 2012 15:54:44 -0800 |
Still not the same output in gforth and gforth-fast:
address@hidden /usr/src/gforth
# gforth
Gforth 0.7.9-20120209, Copyright (C) 1995-2011 Free Software Foundation,
Inc.
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
Type `bye' to exit
1 2 3 pi cr .s f.s fsin cr .s f.s
<3> 1 2 3 <1> 3.141592653590E0
<3> 1 2 3 <1> 1.2246467991E-16 ok
bye
address@hidden /usr/src/gforth
# gforth-fast
Gforth 0.7.9-20120209, Copyright (C) 1995-2011 Free Software Foundation,
Inc.
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
Type `bye' to exit
1 2 3 pi cr .s f.s fsin cr .s f.s
<3> 1 2 3 <1> 3.141592653590E0
<3> 1 2 54 <1> 1.2246467991E-16 ok
DaR
-----Original Message-----
From: Bernd Paysan [mailto:address@hidden
Sent: Monday, February 13, 2012 2:19 PM
To: address@hidden
Cc: Dennis Ruffer; 'Marcel Hendrix'
Subject: Re: [gforth] Strange behavior of f! etc. - fixed
Am Montag, 13. Februar 2012, 13:46:10 schrieb Dennis Ruffer:
> I have confirmed your results back through 0.7.0-20100915, but at
> 0.7.0-20100807 it appears to have been worse:
>
> # gforth-fast-0.7.0-20100807.exe
> Gforth 0.7.0-20100807, Copyright (C) 1995-2009 Free Software
> Foundation, Inc.
> Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
> Type `bye' to exit
> 1 2 3 pi cr .s f.s fsin cr .s f.s
> <3> 1 2 3 <1> 3.141592653590E0
> <3> 1 2 2125807600 <1> 1.2246467991E-16 ok
Ok, the problem seems to be that fsin et. al globber %edx, and GCC doesn't
realize that the global register assignment won't work. I've now moved
TOSreg to %ecx, which seems to cure that problem. The few remaining x86
opcodes in prim that will use %ecx should be fine with that, because it's
already TOS (lshift, rshift).
Thanks for all who participated in nailing down this bug. I have not tested
it with the original problem submission, but I'm sure someone else on the
list will do ;-).
--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/