[PATCH] Fix remainder calculating bug in single floating point division

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Jan 7 07:07:45 EST 2008


On Sun, 2008-01-06 at 22:26 +0800, Liu Yu wrote:
> This bug exists in the emulation of floating point division for powerpc.
> 
> The original code cannot count the remainder correctly. 
> I can provide a test case to trigger this bug. 
> When use fdiv to count 1.1754941e-38f / 0.9999999f, 
> the result is expected to be 1.175494e-38f, 
> but we will get 1.174921e-38f in the original case.

It's nice to see somebody digging in that scary math emu stuff. If you
could also get rid of the warnings, it would be perfect :-)

Now, appart from that, I seem to remember Dan telling me at some point
in the past (I think it was Dan... ) that this code was lifted from
somewhere else (glibc ? gcc soft-float ?), in which case it might be
worth to fix that somewhere else as well, or if it's already been fixed,
maybe resync. 

Cheers,
Ben.





More information about the Linuxppc-dev mailing list