Improve libm-test XFAILing for ibm128-libgcc.
commit08f7b95dbdf7ddc25899fe5b521a36db03fe6e2a
authorJoseph Myers <joseph@codesourcery.com>
Mon, 9 Jan 2017 22:40:59 +0000 (9 22:40 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 9 Jan 2017 22:40:59 +0000 (9 22:40 +0000)
tree9cd4770bac4f35d3c84eb24c641901f46bbb9b71
parentc6be839efded78768ad3c70d7f2e913a9fb8603c
Improve libm-test XFAILing for ibm128-libgcc.

This patch further improves XFAILing for ibm128-libgcc of tests in
auto-libm-test-*.

The bulk of the cases needing XFAILing are
xfail-rounding:ibm128-libgcc used for inputs where (possibly after
rounding the inputs to another floating-point type) the result
overflows (and the result in non-default rounding modes may be wildly
wrong with unpatched libgcc) or underflows near 0 (and the result in
non-default rounding modes may end up having the wrong sign).  This
patch makes gen-auto-libm-tests detect such cases and apply
xfail-rounding:ibm128-libgcc automatically to them, so most of the
manual XFAILs in auto-libm-test-in are no longer needed (some are
still needed if e.g. the result is very close to overflow, resulting
in an internal overflow in libgcc in some rounding modes).  A few
manual XFAILs are added for cases not covered by this
gen-auto-libm-tests change, and a few existing such XFAILs are left
in.

Tested for powerpc.

* math/gen-auto-libm-tests.c (output_for_one_input_case): Apply
xfail-rounding:ibm128-libgcc automatically to tests overflowing
and those that can underflow to zero.
* math/auto-libm-test-in: Remove most XFAILs for ibm128-libgcc and
add others.
* math/auto-libm-test-out: Regenerated.
ChangeLog
math/auto-libm-test-in
math/auto-libm-test-out
math/gen-auto-libm-tests.c