[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/4] softfloat: fix floatx80 pseudo-denormal comparisons
From: |
Alex Bennée |
Subject: |
Re: [PATCH 3/4] softfloat: fix floatx80 pseudo-denormal comparisons |
Date: |
Fri, 01 May 2020 20:31:22 +0100 |
User-agent: |
mu4e 1.4.1; emacs 28.0.50 |
Joseph Myers <address@hidden> writes:
> On Fri, 1 May 2020, Alex Bennée wrote:
>
>>
>> Joseph Myers <address@hidden> writes:
>>
>> > The softfloat floatx80 comparisons fail to allow for pseudo-denormals,
>> > which should compare equal to corresponding values with biased
>> > exponent 1 rather than 0. Add an adjustment for that case when
>> > comparing numbers with the same sign.
>> >
>> > Note that this fix only changes floatx80_compare_internal, not the
>> > other more specific comparison operations. That is the only
>> > comparison function for floatx80 used in the i386 port, which is the
>> > only supported port with these pseudo-denormal semantics.
>>
>> Again I can't see anything that triggers this although I noticed
>> le_quiet has been fixed in the meantime. lt_quiet still fails with:
>
> It looks like this test is only testing the separate comparison functions,
> which aren't used in the i386 port and which I didn't change, not anything
> that uses floatx80_compare_internal. (That's apart from probably not
> covering pseudo-denormals either.)
OK - so these only turn up in i386?
I think then the things we need for v2 are:
a) ensure we don't break the existing working TestFloat tests
b) try an enable the previously broken tests for areas touched
c) introduce some i386 specific tests to guard the pseudo-denormal
behaviour
We have two tests currently (float_convs and float_madds) which
currently exercise the various combinations of limits and NaN types
using some common float_helpers.c support. Maybe extend it for have a
table of the various ext80 types and write a i386 only test case to
exercise the functions you fixed?
--
Alex Bennée