[PING][PATCH 0/5] x86 pseudo-normal numbers
Siddhesh Poyarekar
siddhesh@gotplt.org
Fri Dec 18 04:03:25 GMT 2020
Ping! I have made the changes to 3/5 and am waiting for reviews for the
rest of the patches before posting a v2, in case more changes are
needed. It would be really nice to get this in before the freeze deadline.
Siddhesh
On 12/15/20 7:43 PM, Siddhesh Poyarekar via Libc-alpha wrote:
> Hi,
>
> Following is the patchset that harmonizes classification of
> pseudo-normal numbers with gcc. Pseudo-NaNs, Pseudo-Infinities and
> unnormal numbers are considered as signaling NaN as per classification
> since that is how they behave when used as operands in x86.
>
> Pseudo-denormal numbers are not catered for in this patch. The x86 CPU
> supposedly treats these numbers as denormals, but both gcc and glibc
> currently treat them as normals.
>
> In summary, the patchset does the following:
>
> - Update fpclassify to cater for pseudo-normal numbers
> - Consolidate isnanl so that it can be used by isnanl as well as
> issignalingl.
> - Update isnanl logic to return true for all pseudo-normal numbers
> - Add an x86-specific issignalingl that returns true for all
> pseudo-normals.
>
> Siddhesh Poyarekar (5):
> x86 long double: Support pseudo numbers in fpclassifyl
> x86 long double: Support pseudo numbers in isnanl
> Partially revert 681900d29683722b1cb0a8e565a0585846ec5a61
> x86 long double: Consider pseudo numbers as signaling
> x86 long double: Add tests for pseudo normal numbers
>
> sysdeps/i386/fpu/s_fpclassifyl.c | 4 +
> sysdeps/i386/fpu/s_isnanl.c | 10 +-
> sysdeps/ieee754/ldbl-96/s_issignalingl.c | 2 -
> sysdeps/x86/fpu/Makefile | 3 +-
> sysdeps/x86/fpu/isnanl_common.h | 32 ++++
> sysdeps/x86/fpu/s_issignalingl.c | 39 +++++
> sysdeps/x86/fpu/test-unnormal.c | 196 +++++++++++++++++++++++
> sysdeps/x86/ldbl2mpn.c | 8 -
> 8 files changed, 275 insertions(+), 19 deletions(-)
> create mode 100644 sysdeps/x86/fpu/isnanl_common.h
> create mode 100644 sysdeps/x86/fpu/s_issignalingl.c
> create mode 100644 sysdeps/x86/fpu/test-unnormal.c
>
More information about the Libc-alpha
mailing list