This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Update libm-test XFAILs for ibm128 format [committed]


This patch cleans up and updates the libm-test XFAILs for the ibm128
format.  More of them are changed to use a new ibm128-libgcc
conditional, to reflect that they are not in fact needed if you've
patched libgcc to fix the known issues (at substantial performance
cost).  Many additional XFAILs are added for tests that fail with
unpatched libgcc (most but not all of them xfail-rounding).

Note that further such fixes will be needed for test-ldouble actually
to pass with default libgcc (in particular, XFAILs for pow tests and
for various affected tests directly embedded in libm-test.inc).  With
patched libgcc, there may be a few XFAILs needed but the results are
already substantially clean apart from a few ulps differences.

Tested for powerpc.  Committed.

2017-01-04  Joseph Myers  <joseph@codesourcery.com>

	* math/libm-test.inc (TEST_COND_ibm128_libgcc): New macro.
	(init_max_error) [TEST_COND_ibm128]: Increase maximum error
	allowed to 16 ulps.
	* math/auto-libm-test-in: Change most XFAILs for ibm128 to use
	ibm128-libgcc.  XFAIL more tests for ibm128-libgcc.
	* math/auto-libm-test-out: Regenerated.

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 29a3d15..2bce299 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -397,10 +397,10 @@ atan2 min_subnorm -max
 atan2 -min_subnorm -max
 atan2 1 max
 atan2 -1 max
-atan2 min max
-atan2 -min max
-atan2 min_subnorm max
-atan2 -min_subnorm max
+atan2 min max xfail-rounding:ibm128-libgcc
+atan2 -min max xfail-rounding:ibm128-libgcc
+atan2 min_subnorm max xfail-rounding:ibm128-libgcc
+atan2 -min_subnorm max xfail-rounding:ibm128-libgcc
 atan2 min 1
 atan2 -min 1
 atan2 min_subnorm 1
@@ -587,8 +587,8 @@ cbrt 0x1.bd0098p-104
 cbrt -0x3.300d34p+0
 cbrt 0x6.247f5p-4
 cbrt -0x3.48648028cb464p+0
-cbrt max
-cbrt -max
+cbrt max xfail:ibm128-libgcc
+cbrt -max xfail:ibm128-libgcc
 cbrt min
 cbrt -min
 cbrt min_subnorm
@@ -610,14 +610,14 @@ ccos 0.75 710.5
 ccos 0.75 -710.5
 ccos -0.75 710.5
 ccos -0.75 -710.5
-ccos 0.75 11357.25
-ccos 0.75 -11357.25
-ccos -0.75 11357.25
-ccos -0.75 -11357.25
+ccos 0.75 11357.25 xfail-rounding:ibm128-libgcc
+ccos 0.75 -11357.25 xfail-rounding:ibm128-libgcc
+ccos -0.75 11357.25 xfail-rounding:ibm128-libgcc
+ccos -0.75 -11357.25 xfail-rounding:ibm128-libgcc
 
 ccos 0x1p-149 180
-ccos 0x1p-1074 1440
-ccos 0x1p-16434 22730
+ccos 0x1p-1074 1440 xfail-rounding:ibm128-libgcc
+ccos 0x1p-16434 22730 xfail-rounding:ibm128-libgcc
 
 ccos min_subnorm_p120 0x1p-120
 ccos 0x1p-120 min_subnorm_p120
@@ -643,14 +643,14 @@ ccosh 710.5 0.75
 ccosh -710.5 0.75
 ccosh 710.5 -0.75
 ccosh -710.5 -0.75
-ccosh 11357.25 0.75
-ccosh -11357.25 0.75
-ccosh 11357.25 -0.75
-ccosh -11357.25 -0.75
+ccosh 11357.25 0.75 xfail-rounding:ibm128-libgcc
+ccosh -11357.25 0.75 xfail-rounding:ibm128-libgcc
+ccosh 11357.25 -0.75 xfail-rounding:ibm128-libgcc
+ccosh -11357.25 -0.75 xfail-rounding:ibm128-libgcc
 
 ccosh 180 0x1p-149
-ccosh 1440 0x1p-1074
-ccosh 22730 0x1p-16434
+ccosh 1440 0x1p-1074 xfail-rounding:ibm128-libgcc
+ccosh 22730 0x1p-16434 xfail-rounding:ibm128-libgcc
 
 ccosh min_subnorm_p120 0x1p-120
 ccosh 0x1p-120 min_subnorm_p120
@@ -683,16 +683,16 @@ cexp 88.75 0.75
 cexp -95 0.75
 cexp 709.8125 0.75
 cexp -720 0.75
-cexp 11356.5625 0.75
+cexp 11356.5625 0.75 xfail-rounding:ibm128-libgcc
 cexp -11370 0.75
 
 cexp 180 0x1p-149
-cexp 1440 0x1p-1074
-cexp 22730 0x1p-16434
+cexp 1440 0x1p-1074 xfail-rounding:ibm128-libgcc
+cexp 22730 0x1p-16434 xfail-rounding:ibm128-libgcc
 
-cexp 1e6 0
-cexp 1e6 min
-cexp 1e6 -min
+cexp 1e6 0 xfail-rounding:ibm128-libgcc
+cexp 1e6 min xfail-rounding:ibm128-libgcc
+cexp 1e6 -min xfail-rounding:ibm128-libgcc
 
 cexp 1 min
 cexp 1 -min
@@ -799,24 +799,24 @@ clog 0x1p-1074 -0x1.fp+1023
 clog -0x1p-1074 -0x1.fp+1023
 clog -0x1.fp+1023 0x1p-1074
 clog -0x1.fp+1023 -0x1p-1074
-clog 0x1.fp+1023 0x1p-1074
-clog 0x1.fp+1023 -0x1p-1074
+clog 0x1.fp+1023 0x1p-1074 xfail-rounding:ibm128-libgcc
+clog 0x1.fp+1023 -0x1p-1074 xfail-rounding:ibm128-libgcc
 clog 0x1p-16445 0x1.fp+16383
 clog -0x1p-16445 0x1.fp+16383
 clog 0x1p-16445 -0x1.fp+16383
 clog -0x1p-16445 -0x1.fp+16383
 clog -0x1.fp+16383 0x1p-16445
 clog -0x1.fp+16383 -0x1p-16445
-clog 0x1.fp+16383 0x1p-16445
-clog 0x1.fp+16383 -0x1p-16445
+clog 0x1.fp+16383 0x1p-16445 xfail-rounding:ibm128-libgcc
+clog 0x1.fp+16383 -0x1p-16445 xfail-rounding:ibm128-libgcc
 clog 0x1p-16494 0x1.fp+16383
 clog -0x1p-16494 0x1.fp+16383
 clog 0x1p-16494 -0x1.fp+16383
 clog -0x1p-16494 -0x1.fp+16383
 clog -0x1.fp+16383 0x1p-16494
 clog -0x1.fp+16383 -0x1p-16494
-clog 0x1.fp+16383 0x1p-16494
-clog 0x1.fp+16383 -0x1p-16494
+clog 0x1.fp+16383 0x1p-16494 xfail-rounding:ibm128-libgcc
+clog 0x1.fp+16383 -0x1p-16494 xfail-rounding:ibm128-libgcc
 
 clog 1.0 0x1.234566p-10
 clog -1.0 0x1.234566p-20
@@ -992,24 +992,24 @@ clog10 0x1p-1074 -0x1.fp+1023
 clog10 -0x1p-1074 -0x1.fp+1023
 clog10 -0x1.fp+1023 0x1p-1074
 clog10 -0x1.fp+1023 -0x1p-1074
-clog10 0x1.fp+1023 0x1p-1074
-clog10 0x1.fp+1023 -0x1p-1074
+clog10 0x1.fp+1023 0x1p-1074 xfail-rounding:ibm128-libgcc
+clog10 0x1.fp+1023 -0x1p-1074 xfail-rounding:ibm128-libgcc
 clog10 0x1p-16445 0x1.fp+16383
 clog10 -0x1p-16445 0x1.fp+16383
 clog10 0x1p-16445 -0x1.fp+16383
 clog10 -0x1p-16445 -0x1.fp+16383
 clog10 -0x1.fp+16383 0x1p-16445
 clog10 -0x1.fp+16383 -0x1p-16445
-clog10 0x1.fp+16383 0x1p-16445
-clog10 0x1.fp+16383 -0x1p-16445
+clog10 0x1.fp+16383 0x1p-16445 xfail-rounding:ibm128-libgcc
+clog10 0x1.fp+16383 -0x1p-16445 xfail-rounding:ibm128-libgcc
 clog10 0x1p-16494 0x1.fp+16383
 clog10 -0x1p-16494 0x1.fp+16383
 clog10 0x1p-16494 -0x1.fp+16383
 clog10 -0x1p-16494 -0x1.fp+16383
 clog10 -0x1.fp+16383 0x1p-16494
 clog10 -0x1.fp+16383 -0x1p-16494
-clog10 0x1.fp+16383 0x1p-16494
-clog10 0x1.fp+16383 -0x1p-16494
+clog10 0x1.fp+16383 0x1p-16494 xfail-rounding:ibm128-libgcc
+clog10 0x1.fp+16383 -0x1p-16494 xfail-rounding:ibm128-libgcc
 
 clog10 1.0 0x1.234566p-10
 clog10 -1.0 0x1.234566p-20
@@ -1175,9 +1175,8 @@ cosh 0x2.f5d128p+0
 cosh -0xd.0c03p+0
 cosh -0x3.d04328728b72cp-4
 cosh 0x1.629188p+4
-# GCC bug 59666: results on directed rounding may be incorrect.
-cosh max no-test-inline xfail-rounding:ibm128
-cosh -max no-test-inline xfail-rounding:ibm128
+cosh max no-test-inline xfail-rounding:ibm128-libgcc
+cosh -max no-test-inline xfail-rounding:ibm128-libgcc
 cosh min
 cosh -min
 cosh min_subnorm
@@ -1191,23 +1190,22 @@ cosh 0x5.96a7ep+4
 cosh 0x5.96a7e8p+4
 cosh -0x5.96a7ep+4
 cosh -0x5.96a7e8p+4
-# GCC bug 59666: results on directed rounding may be incorrect.
-cosh 0x2.c679d1f73f0fap+8 xfail-rounding:ibm128
-cosh 0x2.c679d1f73f0fcp+8 xfail-rounding:ibm128
-cosh -0x2.c679d1f73f0fap+8 xfail-rounding:ibm128
-cosh -0x2.c679d1f73f0fcp+8 xfail-rounding:ibm128
-cosh 0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ibm128
-cosh 0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ibm128
-cosh -0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ibm128
-cosh -0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ibm128
-cosh 0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ibm128
-cosh 0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ibm128
-cosh -0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ibm128
-cosh -0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ibm128
-cosh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ibm128
-cosh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ibm128
-cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ibm128
-cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ibm128
+cosh 0x2.c679d1f73f0fap+8 xfail-rounding:ibm128-libgcc
+cosh 0x2.c679d1f73f0fcp+8 xfail-rounding:ibm128-libgcc
+cosh -0x2.c679d1f73f0fap+8 xfail-rounding:ibm128-libgcc
+cosh -0x2.c679d1f73f0fcp+8 xfail-rounding:ibm128-libgcc
+cosh 0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ibm128-libgcc
+cosh 0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ibm128-libgcc
+cosh -0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ibm128-libgcc
+cosh -0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ibm128-libgcc
+cosh 0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh 0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh -0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh -0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ibm128-libgcc
+cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ibm128-libgcc
 
 cpow 1 0 0 0 ignore-zero-inf-sign
 cpow 2 0 10 0 ignore-zero-inf-sign
@@ -1236,19 +1234,19 @@ csin 0.75 710.5
 csin 0.75 -710.5
 csin -0.75 710.5
 csin -0.75 -710.5
-csin 0.75 11357.25
-csin 0.75 -11357.25
-csin -0.75 11357.25
-csin -0.75 -11357.25
+csin 0.75 11357.25 xfail-rounding:ibm128-libgcc
+csin 0.75 -11357.25 xfail-rounding:ibm128-libgcc
+csin -0.75 11357.25 xfail-rounding:ibm128-libgcc
+csin -0.75 -11357.25 xfail-rounding:ibm128-libgcc
 
-csin 0.75 1e6
-csin 0.75 -1e6
-csin -0.75 1e6
-csin -0.75 -1e6
+csin 0.75 1e6 xfail-rounding:ibm128-libgcc
+csin 0.75 -1e6 xfail-rounding:ibm128-libgcc
+csin -0.75 1e6 xfail-rounding:ibm128-libgcc
+csin -0.75 -1e6 xfail-rounding:ibm128-libgcc
 
 csin 0x1p-149 180
-csin 0x1p-1074 1440
-csin 0x1p-16434 22730
+csin 0x1p-1074 1440 xfail-rounding:ibm128-libgcc
+csin 0x1p-16434 22730 xfail-rounding:ibm128-libgcc
 
 csin min 1
 csin -min 1
@@ -1271,19 +1269,19 @@ csinh 710.5 0.75
 csinh -710.5 0.75
 csinh 710.5 -0.75
 csinh -710.5 -0.75
-csinh 11357.25 0.75
-csinh -11357.25 0.75
-csinh 11357.25 -0.75
-csinh -11357.25 -0.75
+csinh 11357.25 0.75 xfail-rounding:ibm128-libgcc
+csinh -11357.25 0.75 xfail-rounding:ibm128-libgcc
+csinh 11357.25 -0.75 xfail-rounding:ibm128-libgcc
+csinh -11357.25 -0.75 xfail-rounding:ibm128-libgcc
 
-csinh 1e6 0.75
-csinh -1e6 0.75
-csinh 1e6 -0.75
-csinh -1e6 -0.75
+csinh 1e6 0.75 xfail-rounding:ibm128-libgcc
+csinh -1e6 0.75 xfail-rounding:ibm128-libgcc
+csinh 1e6 -0.75 xfail-rounding:ibm128-libgcc
+csinh -1e6 -0.75 xfail-rounding:ibm128-libgcc
 
 csinh 180 0x1p-149
-csinh 1440 0x1p-1074
-csinh 22730 0x1p-16434
+csinh 1440 0x1p-1074 xfail-rounding:ibm128-libgcc
+csinh 22730 0x1p-16434 xfail-rounding:ibm128-libgcc
 
 csinh 1 min
 csinh 1 -min
@@ -1410,9 +1408,8 @@ ctan 1 45
 ctan 1 47
 ctan 1 355
 ctan 1 365
-# GCC bug 59666: results on directed rounding may be incorrect.
-ctan 1 5680 xfail-rounding:ibm128
-ctan 1 5690 xfail-rounding:ibm128
+ctan 1 5680 xfail-rounding:ibm128-libgcc
+ctan 1 5690 xfail-rounding:ibm128-libgcc
 
 ctan 0x3.243f6cp-1 0
 
@@ -1420,11 +1417,10 @@ ctan 0x1p127 1
 ctan 0x1p1023 1
 ctan 0x1p16383 1
 
-# GCC bug 59666: results on directed rounding may be incorrect.
-ctan 50000 50000 xfail-rounding:ibm128
-ctan 50000 -50000 xfail-rounding:ibm128
-ctan -50000 50000 xfail-rounding:ibm128
-ctan -50000 -50000 xfail-rounding:ibm128
+ctan 50000 50000 xfail-rounding:ibm128-libgcc
+ctan 50000 -50000 xfail-rounding:ibm128-libgcc
+ctan -50000 50000 xfail-rounding:ibm128-libgcc
+ctan -50000 -50000 xfail-rounding:ibm128-libgcc
 
 ctan 0x1.921fb6p+0 0x1p-149
 ctan 0x1.921fb54442d18p+0 0x1p-1074
@@ -1453,9 +1449,8 @@ ctanh 45 1
 ctanh 47 1
 ctanh 355 1
 ctanh 365 1
-# GCC bug 59666: results on directed rounding may be incorrect.
-ctanh 5680 1 xfail-rounding:ibm128
-ctanh 5690 1 xfail-rounding:ibm128
+ctanh 5680 1 xfail-rounding:ibm128-libgcc
+ctanh 5690 1 xfail-rounding:ibm128-libgcc
 
 ctanh 0 0x3.243f6cp-1
 
@@ -1463,11 +1458,10 @@ ctanh 1 0x1p127
 ctanh 1 0x1p1023
 ctanh 1 0x1p16383
 
-# GCC bug 59666: results on directed rounding may be incorrect.
-ctanh 50000 50000 xfail-rounding:ibm128
-ctanh 50000 -50000 xfail-rounding:ibm128
-ctanh -50000 50000 xfail-rounding:ibm128
-ctanh -50000 -50000 xfail-rounding:ibm128
+ctanh 50000 50000 xfail-rounding:ibm128-libgcc
+ctanh 50000 -50000 xfail-rounding:ibm128-libgcc
+ctanh -50000 50000 xfail-rounding:ibm128-libgcc
+ctanh -50000 -50000 xfail-rounding:ibm128-libgcc
 
 ctanh 0x1p-149 0x1.921fb6p+0
 ctanh 0x1p-1074 0x1.921fb54442d18p+0
@@ -1672,14 +1666,12 @@ exp 0.75
 exp 50.0
 exp 88.72269439697265625
 exp 709.75
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp 1000.0 xfail-rounding:ibm128
-exp 710 xfail-rounding:ibm128
+exp 1000.0 xfail-rounding:ibm128-libgcc
+exp 710 xfail-rounding:ibm128-libgcc
 exp -1234
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp 0x2.c679d1f73f0fb628p+8 xfail-rounding:ibm128
-exp 1e5 xfail-rounding:ibm128
-exp max xfail-rounding:ibm128
+exp 0x2.c679d1f73f0fb628p+8 xfail-rounding:ibm128-libgcc
+exp 1e5 xfail-rounding:ibm128-libgcc
+exp max xfail-rounding:ibm128-libgcc
 exp -7.4444006192138124e+02
 exp -0x1.75f113c30b1c8p+9
 exp -max
@@ -1718,22 +1710,22 @@ exp 0x5.8b90b8p+4
 exp 0x5.8b90cp+4
 exp -0x5.75628p+4
 exp -0x5.756278p+4
-exp 0x2.c5c85fdf473dep+8
-exp 0x2.c5c85fdf473ep+8
+exp 0x2.c5c85fdf473dep+8 xfail-rounding:ibm128-libgcc
+exp 0x2.c5c85fdf473ep+8 xfail-rounding:ibm128-libgcc
 exp -0x2.c4657baf579a6p+8
 exp -0x2.c4657baf579a4p+8
-exp 0x2.c5c85fdf473de6ab278ece600fp+8
-exp 0x2.c5c85fdf473de6ab278ece601p+8
-exp -0x2.9fa8dcb9092a538b3f2ee2ca67p+8
-exp -0x2.9fa8dcb9092a538b3f2ee2ca66p+8
-exp 0x2.c5c85fdf473de6acp+12
-exp 0x2.c5c85fdf473de6bp+12
+exp 0x2.c5c85fdf473de6ab278ece600fp+8 xfail-rounding:ibm128-libgcc
+exp 0x2.c5c85fdf473de6ab278ece601p+8 xfail-rounding:ibm128-libgcc
+exp -0x2.9fa8dcb9092a538b3f2ee2ca67p+8 xfail-rounding:ibm128-libgcc
+exp -0x2.9fa8dcb9092a538b3f2ee2ca66p+8 xfail-rounding:ibm128-libgcc
+exp 0x2.c5c85fdf473de6acp+12 xfail-rounding:ibm128-libgcc
+exp 0x2.c5c85fdf473de6bp+12 xfail-rounding:ibm128-libgcc
 exp -0x2.c5b2319c4843accp+12
 exp -0x2.c5b2319c4843acbcp+12
 exp -0x2.c5bd48bdc7c0c9b8p+12
 exp -0x2.c5bd48bdc7c0c9b4p+12
-exp 0x2.c5c85fdf473de6af278ece600fcap+12
-exp 0x2.c5c85fdf473de6af278ece600fccp+12
+exp 0x2.c5c85fdf473de6af278ece600fcap+12 xfail-rounding:ibm128-libgcc
+exp 0x2.c5c85fdf473de6af278ece600fccp+12 xfail-rounding:ibm128-libgcc
 exp -0x2.c5b2319c4843acbff21591e99cccp+12
 exp -0x2.c5b2319c4843acbff21591e99ccap+12
 exp min
@@ -1757,22 +1749,17 @@ exp10 36
 exp10 -36
 exp10 305
 exp10 -305
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp10 4932 xfail-rounding:ibm128
+exp10 4932 xfail-rounding:ibm128-libgcc
 exp10 -4932
 exp10 -0x1.343793004f503232p12
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp10 1e5 xfail-rounding:ibm128
+exp10 1e5 xfail-rounding:ibm128-libgcc
 exp10 -1e5
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp10 1e6 xfail-rounding:ibm128
+exp10 1e6 xfail-rounding:ibm128-libgcc
 exp10 -1e6
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp10 max xfail-rounding:ibm128
+exp10 max xfail-rounding:ibm128-libgcc
 exp10 -max
 exp10 0.75
-# GCC bug 59666: results on directed rounding may be incorrect.
-exp10 0x1.348e45573a1dd72cp+8 xfail-rounding:ibm128
+exp10 0x1.348e45573a1dd72cp+8 xfail-rounding:ibm128-libgcc
 exp10 -0x1.33aa03p+8
 exp10 -0x1.33ad17p+8
 exp10 -0x1.33afcap+8
@@ -1802,18 +1789,18 @@ exp10 0x1.34413509f79fep+8
 exp10 0x1.34413509f79ffp+8
 exp10 -0x1.33a7146f72a42p+8
 exp10 -0x1.33a7146f72a41p+8
-exp10 0x1.34413509f79fef2f625b0205a88p+8
-exp10 0x1.34413509f79fef2f625b0205a9p+8
-exp10 -0x1.23b2b470ae9318183ba772361cp+8
-exp10 -0x1.23b2b470ae9318183ba772361b8p+8
-exp10 0x1.34413509f79fef3p+12
-exp10 0x1.34413509f79fef32p+12
+exp10 0x1.34413509f79fef2f625b0205a88p+8 xfail:ibm128-libgcc
+exp10 0x1.34413509f79fef2f625b0205a9p+8 xfail:ibm128-libgcc
+exp10 -0x1.23b2b470ae9318183ba772361cp+8 xfail-rounding:ibm128-libgcc
+exp10 -0x1.23b2b470ae9318183ba772361b8p+8 xfail-rounding:ibm128-libgcc
+exp10 0x1.34413509f79fef3p+12 xfail-rounding:ibm128-libgcc
+exp10 0x1.34413509f79fef32p+12 xfail-rounding:ibm128-libgcc
 exp10 -0x1.343793004f503232p+12
 exp10 -0x1.343793004f50323p+12
 exp10 -0x1.343c6405237810b2p+12
 exp10 -0x1.343c6405237810bp+12
-exp10 0x1.34413509f79fef311f12b35816f9p+12
-exp10 0x1.34413509f79fef311f12b35816fap+12
+exp10 0x1.34413509f79fef311f12b35816f9p+12 xfail-rounding:ibm128-libgcc
+exp10 0x1.34413509f79fef311f12b35816fap+12 xfail-rounding:ibm128-libgcc
 exp10 -0x1.343793004f503231a589bac27c39p+12
 exp10 -0x1.343793004f503231a589bac27c38p+12
 exp10 min
@@ -1832,9 +1819,9 @@ exp2 0
 exp2 -0
 exp2 10
 exp2 -1
-exp2 1e6
+exp2 1e6 xfail-rounding:ibm128-libgcc
 exp2 -1e6
-exp2 max
+exp2 max xfail-rounding:ibm128-libgcc
 exp2 -max
 exp2 0.75
 exp2 100.5
@@ -1850,7 +1837,7 @@ exp2 -1020.5
 exp2 -1021.5
 exp2 1023
 exp2 -1074
-exp2 16383
+exp2 16383 xfail-rounding:ibm128-libgcc
 exp2 -16400
 exp2 -126.125
 exp2 -126.25
@@ -1897,22 +1884,22 @@ exp2 0x7.fffff8p+4
 exp2 0x8.00001p+4
 exp2 -0x7.e00008p+4
 exp2 -0x7.dffff8p+4
-exp2 0x3.ffffffffffffep+8
-exp2 0x4.0000000000004p+8
+exp2 0x3.ffffffffffffep+8 xfail-rounding:ibm128-libgcc
+exp2 0x4.0000000000004p+8 xfail-rounding:ibm128-libgcc
 exp2 -0x3.fe00000000002p+8
 exp2 -0x3.fdffffffffffep+8
-exp2 0x3.fffffffffffffffa3aae26b51fp+8
-exp2 0x3.fffffffffffffffa3aae26b52p+8
+exp2 0x3.fffffffffffffffa3aae26b51fp+8 xfail-rounding:ibm128-libgcc
+exp2 0x3.fffffffffffffffa3aae26b52p+8 xfail-rounding:ibm128-libgcc
 exp2 -0x3.c9000000000000000000000001p+8
 exp2 -0x3.c8ffffffffffffffffffffffffp+8
-exp2 0x3.fffffffffffffffcp+12
-exp2 0x4.0000000000000008p+12
+exp2 0x3.fffffffffffffffcp+12 xfail-rounding:ibm128-libgcc
+exp2 0x4.0000000000000008p+12 xfail-rounding:ibm128-libgcc
 exp2 -0x3.ffe0000000000004p+12
 exp2 -0x3.ffdffffffffffffcp+12
-exp2 -0x3.fff0000000000004p+12
-exp2 -0x3.ffeffffffffffffcp+12
-exp2 0x3.fffffffffffffffffffffffffffep+12
-exp2 0x4.0000000000000000000000000004p+12
+exp2 -0x3.fff0000000000004p+12 xfail-rounding:ibm128-libgcc
+exp2 -0x3.ffeffffffffffffcp+12 xfail-rounding:ibm128-libgcc
+exp2 0x3.fffffffffffffffffffffffffffep+12 xfail-rounding:ibm128-libgcc
+exp2 0x4.0000000000000000000000000004p+12 xfail-rounding:ibm128-libgcc
 exp2 -0x3.ffe0000000000000000000000002p+12
 exp2 -0x3.ffdffffffffffffffffffffffffep+12
 exp2 min
@@ -1955,8 +1942,7 @@ expm1 90
 expm1 100
 expm1 127.0
 expm1 500.0
-# GCC bug 59666: results on directed rounding may be incorrect.
-expm1 11356.25 xfail-rounding:ibm128
+expm1 11356.25 xfail-rounding:ibm128-libgcc
 expm1 -10.0
 expm1 -16.0
 expm1 -17.0
@@ -1977,9 +1963,8 @@ expm1 -100.0
 expm1 -1000.0
 expm1 -10000.0
 expm1 -100000.0
-# GCC bug 59666: results on directed rounding may be incorrect.
-expm1 100000.0 xfail-rounding:ibm128
-expm1 max xfail-rounding:ibm128
+expm1 100000.0 xfail-rounding:ibm128-libgcc
+expm1 max xfail-rounding:ibm128-libgcc
 expm1 -max
 expm1 0x1p-2
 expm1 -0x1p-2
@@ -2012,9 +1997,9 @@ expm1 0x4.857de8p+4
 expm1 0x5.dfeb68p-4
 expm1 0x4.0000000000000028p-16384
 expm1 min
-expm1 -min
+expm1 -min xfail-rounding:ibm128-libgcc
 expm1 min_subnorm
-expm1 -min_subnorm
+expm1 -min_subnorm xfail-rounding:ibm128-libgcc
 
 fma 1.0 2.0 3.0
 fma 1.25 0.75 0.0625
@@ -2051,13 +2036,13 @@ fma -1.0 -1.0 -1.0
 
 fma 0 0 1
 fma 0 0 2
-fma 0 0 max
+fma 0 0 max xfail-rounding:ibm128-libgcc
 fma 0 1 1
 fma 1 0 1
 fma 0 1 2
 fma 1 0 2
-fma 0 1 max
-fma 1 0 max
+fma 0 1 max xfail-rounding:ibm128-libgcc
+fma 1 0 max xfail-rounding:ibm128-libgcc
 
 # Bug 6801: errno setting may be missing.
 fma min min 0 missing-errno
@@ -2345,8 +2330,8 @@ hypot min min no-test-inline
 hypot min_subnorm min_subnorm no-test-inline
 hypot min min_subnorm no-test-inline
 hypot 0x1.fp127 0x1.fp127
-hypot 0x1.fp1023 0x1.fp1023
-hypot 0x1.fp16383 0x1.fp16383 no-test-inline
+hypot 0x1.fp1023 0x1.fp1023 xfail-rounding:ibm128-libgcc
+hypot 0x1.fp16383 0x1.fp16383 no-test-inline xfail-rounding:ibm128-libgcc
 
 hypot 0x1p-127 0x1p-149
 hypot 0x1p-1023 0x1p-1074
@@ -2507,7 +2492,7 @@ jn 10 -min
 jn 10 min_subnorm
 jn 10 -min_subnorm
 
-lgamma max
+lgamma max xfail-rounding:ibm128-libgcc
 lgamma 1
 lgamma 3
 lgamma 0.5
@@ -2574,13 +2559,13 @@ lgamma -0x1p-16494
 lgamma 0x3.12be0cp+120
 lgamma 0x3.12be6p+120
 lgamma 0x5.d53649e2d4674p+1012
-lgamma 0x5.d53649e2d46c8p+1012
-lgamma 0x5.d53649e2d469dbc1f01e99fd52p+1012 xfail:binary64
-lgamma 0x5.d53649e2d469dbc1f01e99fd7cp+1012 xfail:binary64
-lgamma 0x5.c6aa645fffef5f5p+16368
-lgamma 0x5.c6aa645fffef5ff8p+16368
-lgamma 0x5.c6aa645fffef5fa912b9b480f7acp+16368 xfail:intel96 xfail:m68k96
-lgamma 0x5.c6aa645fffef5fa912b9b480f8p+16368 xfail:intel96 xfail:m68k96
+lgamma 0x5.d53649e2d46c8p+1012 xfail-rounding:ibm128-libgcc
+lgamma 0x5.d53649e2d469dbc1f01e99fd52p+1012 xfail:binary64 xfail-rounding:ibm128-libgcc
+lgamma 0x5.d53649e2d469dbc1f01e99fd7cp+1012 xfail:binary64 xfail-rounding:ibm128-libgcc
+lgamma 0x5.c6aa645fffef5f5p+16368 xfail-rounding:ibm128-libgcc
+lgamma 0x5.c6aa645fffef5ff8p+16368 xfail-rounding:ibm128-libgcc
+lgamma 0x5.c6aa645fffef5fa912b9b480f7acp+16368 xfail:intel96 xfail:m68k96 xfail-rounding:ibm128-libgcc
+lgamma 0x5.c6aa645fffef5fa912b9b480f8p+16368 xfail:intel96 xfail:m68k96 xfail-rounding:ibm128-libgcc
 
 lgamma -0x1.fa471547c2fe5p+1
 lgamma -0x1.9260dcp+1
@@ -3909,8 +3894,8 @@ sinh -0x1.3dda8ap+0
 sinh -0x5.ee9218p-4
 sinh -0x1.bcfc98p+0
 sinh -0x6.9bbb6df7c5d08p-4
-sinh max no-test-inline
-sinh -max no-test-inline
+sinh max no-test-inline xfail-rounding:ibm128-libgcc
+sinh -max no-test-inline xfail-rounding:ibm128-libgcc
 sinh min
 sinh -min
 sinh min_subnorm
@@ -3919,13 +3904,13 @@ sinh -min_subnorm
 sinh 0x5.96a7ep+4
 sinh 0x5.96a7e8p+4
 sinh 0x2.c679d1f73f0fap+8
-sinh 0x2.c679d1f73f0fcp+8
-sinh 0x2.c679d1f73f0fb624d358b213a7p+8
-sinh 0x2.c679d1f73f0fb624d358b213a8p+8
-sinh 0x2.c5d37700c6bb03a4p+12 no-test-inline
-sinh 0x2.c5d37700c6bb03a8p+12 no-test-inline
-sinh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline
-sinh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline
+sinh 0x2.c679d1f73f0fcp+8 xfail-rounding:ibm128-libgcc
+sinh 0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ibm128-libgcc
+sinh 0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ibm128-libgcc
+sinh 0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ibm128-libgcc
+sinh 0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ibm128-libgcc
+sinh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ibm128-libgcc
+sinh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ibm128-libgcc
 
 sqrt 0
 sqrt -0
@@ -4225,18 +4210,18 @@ tgamma 0x1p-149
 tgamma -0x1p-149
 tgamma 0x1p-1023
 tgamma -0x1p-1023
-tgamma 0x1p-1024 spurious-overflow:binary64 spurious-overflow:ibm128
-tgamma -0x1p-1024
-tgamma 0x1p-1074
-tgamma -0x1p-1074
-tgamma 0x1p-16383
-tgamma -0x1p-16383
+tgamma 0x1p-1024 spurious-overflow:binary64 spurious-overflow:ibm128 xfail-rounding:ibm128-libgcc
+tgamma -0x1p-1024 xfail-rounding:ibm128-libgcc
+tgamma 0x1p-1074 xfail-rounding:ibm128-libgcc
+tgamma -0x1p-1074 xfail-rounding:ibm128-libgcc
+tgamma 0x1p-16383 xfail-rounding:ibm128-libgcc
+tgamma -0x1p-16383 xfail-rounding:ibm128-libgcc
 tgamma 0x1p-16384 spurious-overflow:intel96 spurious-overflow:m68k96 spurious-overflow:binary128
-tgamma -0x1p-16384
-tgamma 0x1p-16445
-tgamma -0x1p-16445
-tgamma 0x1p-16494
-tgamma -0x1p-16494
+tgamma -0x1p-16384 xfail-rounding:ibm128-libgcc
+tgamma 0x1p-16445 xfail-rounding:ibm128-libgcc
+tgamma -0x1p-16445 xfail-rounding:ibm128-libgcc
+tgamma 0x1p-16494 xfail-rounding:ibm128-libgcc
+tgamma -0x1p-16494 xfail-rounding:ibm128-libgcc
 tgamma 0x8.00001p0
 tgamma 0x7.fffff8p0
 tgamma 0x7.000008p0
@@ -4602,17 +4587,17 @@ tgamma 33.5
 tgamma 34.5
 tgamma 0x2.30a43cp+4
 tgamma 0x2.30a44p+4
-tgamma 0xa.b9fd72b0fb238p+4
-tgamma 0xa.b9fd72b0fb24p+4
-tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f4p+4
-tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f8p+4
-tgamma 0x6.db8c603359a97108p+8
-tgamma 0x6.db8c603359a9711p+8
-tgamma 0x6.db8c603359a971081bc4a2e9dfdp+8
-tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8
-tgamma 1e3
+tgamma 0xa.b9fd72b0fb238p+4 xfail-rounding:ibm128-libgcc
+tgamma 0xa.b9fd72b0fb24p+4 xfail-rounding:ibm128-libgcc
+tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f4p+4 xfail-rounding:ibm128-libgcc
+tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f8p+4 xfail-rounding:ibm128-libgcc
+tgamma 0x6.db8c603359a97108p+8 xfail-rounding:ibm128-libgcc
+tgamma 0x6.db8c603359a9711p+8 xfail-rounding:ibm128-libgcc
+tgamma 0x6.db8c603359a971081bc4a2e9dfdp+8 xfail-rounding:ibm128-libgcc
+tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8 xfail-rounding:ibm128-libgcc
+tgamma 1e3 xfail-rounding:ibm128-libgcc
 tgamma -100000.5
-tgamma max
+tgamma max xfail-rounding:ibm128-libgcc
 
 tgamma -0x22.30p0
 tgamma -0x22.31p0
@@ -4724,8 +4709,8 @@ y1 0x1p-100
 y1 0x1p-110
 y1 0x1p-600
 y1 0x1p-10000
-y1 min
-y1 min_subnorm
+y1 min xfail-rounding:ibm128-libgcc
+y1 min_subnorm xfail-rounding:ibm128-libgcc
 
 # yn (0, x) == y0 (x).
 yn 0 0.125
@@ -4756,8 +4741,8 @@ yn 3 2.0
 yn 3 10.0
 yn 3 0x1p-10
 yn 3 0x1p-100
-yn 3 0x1p-600
-yn 3 0x1p-10000
+yn 3 0x1p-600 xfail-rounding:ibm128-libgcc
+yn 3 0x1p-10000 xfail-rounding:ibm128-libgcc
 
 # yn (10, x).
 yn 10 0.125
@@ -4768,7 +4753,7 @@ yn 10 10.0
 
 yn -10 1.0
 
-yn 10 min
+yn 10 min xfail-rounding:ibm128-libgcc
 
 yn 2 0x1.ffff62p+99
 yn 2 0x1p127
@@ -4776,24 +4761,24 @@ yn 2 0x1p1023
 yn 2 0x1p16383
 yn 2 0x1p-10
 yn 2 0x1p-100
-yn 2 0x1p-600
-yn 2 0x1p-10000
+yn 2 0x1p-600 xfail-rounding:ibm128-libgcc
+yn 2 0x1p-10000 xfail-rounding:ibm128-libgcc
 
 yn 0 min
 yn 0 min_subnorm
-yn 1 min
-yn 1 min_subnorm
-yn -1 min
-yn -1 min_subnorm
-yn 2 min
-yn 2 min_subnorm
-yn -2 min
-yn -2 min_subnorm
-yn 17 min
-yn 17 min_subnorm
-yn -17 min
-yn -17 min_subnorm
-yn 42 min
-yn 42 min_subnorm
-yn -42 min
-yn -42 min_subnorm
+yn 1 min xfail-rounding:ibm128-libgcc
+yn 1 min_subnorm xfail-rounding:ibm128-libgcc
+yn -1 min xfail-rounding:ibm128-libgcc
+yn -1 min_subnorm xfail-rounding:ibm128-libgcc
+yn 2 min xfail-rounding:ibm128-libgcc
+yn 2 min_subnorm xfail-rounding:ibm128-libgcc
+yn -2 min xfail-rounding:ibm128-libgcc
+yn -2 min_subnorm xfail-rounding:ibm128-libgcc
+yn 17 min xfail-rounding:ibm128-libgcc
+yn 17 min_subnorm xfail-rounding:ibm128-libgcc
+yn -17 min xfail-rounding:ibm128-libgcc
+yn -17 min_subnorm xfail-rounding:ibm128-libgcc
+yn 42 min xfail-rounding:ibm128-libgcc
+yn 42 min_subnorm xfail-rounding:ibm128-libgcc
+yn -42 min xfail-rounding:ibm128-libgcc
+yn -42 min_subnorm xfail-rounding:ibm128-libgcc
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 0032a83..c6ce578 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -231,6 +231,12 @@
 			  && MIN_EXP == -16382	\
 			  && MAX_EXP == 16384)
 
+/* The condition ibm128-libgcc is used instead of ibm128 to mark tests
+   where in principle the glibc code is OK but the tests fail because
+   of limitations of the libgcc support for that format (e.g. GCC bug
+   59666, in non-default rounding modes).  */
+#define TEST_COND_ibm128_libgcc TEST_COND_ibm128
+
 /* Number of bits in NaN payload.  */
 #if TEST_COND_ibm128
 # define PAYLOAD_DIG (DBL_MANT_DIG - 2)
@@ -428,7 +434,7 @@ init_max_error (const char *name, int exact)
      libgcc/config/rs6000/ibm-ldouble-format), so do not require
      better accuracy for libm functions that are exactly defined for
      other formats.  */
-  max_valid_error = exact ? 3 : 14;
+  max_valid_error = exact ? 3 : 16;
 #else
   max_valid_error = exact ? 0 : 9;
 #endif

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]