Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Recent new atf test failures



On Wed, Mar 26, 2014 at 12:25:53PM -0700, Paul Goyette wrote:
> Some time in the last two weeks, we've had a few new test cases failing 
> in my amd64 test-bed.
> 
> Tests that used to pass, but currently failing
> 
>       lib/csu/t_crt0/initfini3
>       atf/atf-c/macros_test/detect_unused_tests
>       atf/atf-c++/macros_test/detect_unused_tests
> 
> Tests that currently fail, but don't seem to exist in older builds
> 
>       lib/libm/t_exp/exp2_powers
>       lib/libm/t_exp/exp2_values

Those are some more extensive tests for exp2().

The exp2_powers tests are failing to generate an 'overflow' result.
They work for me on a real system - so it might be a qemu issue?

Maybe qemu is using the x87 fpu (with 80 bit precision) to emulate
the 64bit (and 32bit) SSE2 double (and float) maths - so the large
mutiplies used to generate overflow fail.

Actually, I wonder, have you rebuilt qemu since jeorg changed the
default x87 precision to 80bits?
That might be the difference between your tests and gson's tests
(which only show some minor errors for exp2f(7.7) and exp2f(8.8).

The exp2_values tests is showing up something odd in FP maths.
I've not changes the exp2f() code, but I'm seeing different
errors in my own testing (native on amd64) from earlier tests.
However it might just be that the allowed error is too small.

I've a local version of exp2() that uses the x87 'f2xm1' and 'fscale'
instructions on both i386 and amd64.
I do need to do a clock-count comparison for 'f2xm1', but I expect it
to be faster than the table lookup and 5th degree polynomial.
Intel claim these functions are monatonic, I bet the polynomial
version isn't.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index