[PING*2][PATCH 0/5] x86 pseudo-normal numbers

Adhemerval Zanella adhemerval.zanella@linaro.org
Tue Dec 22 11:11:11 GMT 2020


I will review the set this week.

On 22/12/2020 04:46, Siddhesh Poyarekar via Libc-alpha wrote:
> Ping!
> 
> 
> 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