[PATCH] Fix underflow and inexact signalling in soft-fp when packing.
David Miller
davem@davemloft.net
Sun May 27 18:54:00 GMT 2012
From: David Miller <davem@davemloft.net>
Date: Fri, 25 May 2012 20:16:32 -0400 (EDT)
> What's interesting is "ldbl_min / 4" using glibc's current soft-fp
> generates the underflow exception on sparc 64-bit not sparc 32-bit.
>
> The only difference is that sparc 32-bit uses _FP_DIV_MEAT_4_udiv()
> and sparc 64-bit uses _FP_DIV_MEAT_2_udiv() for it's _FP_DIV_MEAT_Q()
> definition.
Actually, FP_DIV in both the 32-bit and 64-bit sparc cases generates
the same exact result, and the same exact _fex value.
The problem is that 32-bit sparc's soft-fp code has never been able to
generate underflow exceptions properly when it is set in _fex.
I'm testing fixes to that problems as well as some changes which
normalize other areas in which 32-bit and 64-bit sparc soft-fp is
unnecessarily different.
Once I sort all of this out I'll revisit the logic that signals
underflow in the generic soft-fp packing macros.
More information about the Libc-alpha
mailing list