diff mbox series

math: xfail some tanpi tests for ibm128-libgcc

Message ID 20241219144050.136095-1-adhemerval.zanella@linaro.org
State Accepted
Commit c3ee51026769f11115121059ab080736fec8c64c
Headers show
Series math: xfail some tanpi tests for ibm128-libgcc | expand

Commit Message

Adhemerval Zanella Netto Dec. 19, 2024, 2:40 p.m. UTC
On powerpc math/test-ibm128-tanpi shows multiple failures:

testing long double (without inline functions)
Failure: tanpi_downward (0xfffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_downward (0xfffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_downward (0xfffffffffffffffdp-1)
Result:
 is:          4.68843873182857939141363635204365e+28   0x1.2efbb6629d1d59b032520400df8p+95
 should be:   inf   inf
Failure: tanpi_downward (0x3fffffffffffffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_downward (0x3fffffffffffffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_downward (0x3fffffffffffffffffffffffffdp-1)
Result:
 is:          1.41444453325831960404472183124793e+16   0x1.9202627cbf98e052d5fdbeee1f8p+53
 should be:   inf   inf
Failure: tanpi_downward (-0xf.ffffffffffffbffffffffffffcp+1020): Exception "Invalid operation" set
Failure: tanpi_downward (-0xf.ffffffffffffbffffffffffffcp+1020): Exception "Overflow" set
Failure: tanpi_downward (-0xf.ffffffffffffbffffffffffffcp+1020): errno set to 33, expected 0 (unchanged)
Failure: Test: tanpi_downward (-0xf.ffffffffffffbffffffffffffcp+1020)
Result:
 is:         qNaN
 should be:  -0.00000000000000000000000000000000e+00  -0x0.000000000000000000000000000p+0
Failure: Test: tanpi_downward (0x3.fffffffffffffffcp+108)
Result:
 is:          2.91356019227449116879287504834896e-15   0x1.a3e365fee24d4632f95a2235698p-49
 should be:   0.00000000000000000000000000000000e+00   0x0.000000000000000000000000000p+0
 difference:  2.91356019227449116879287504834896e-15   0x1.a3e365fee24d4632f95a2235698p-49
 ulp       :  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321
 max.ulp   :  8.0000
Failure: Test: tanpi_downward (0x3.ffffffffffffffffffffffffffp+108)
Result:
 is:          7.94911926685664643005642781870827e-16   0x1.ca3c4b83eb5688e1474146dc338p-51
 should be:   0.00000000000000000000000000000000e+00   0x0.000000000000000000000000000p+0
 difference:  7.94911926685664643005642781870827e-16   0x1.ca3c4b83eb5688e1474146dc338p-51
 ulp       :  160891965142034222272327839154722485473479235229008379884749401713481320342777314570400076204240982703218835644458374555276642
 max.ulp   :  8.0000
Failure: tanpi_towardzero (0xfffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_towardzero (0xfffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_towardzero (0xfffffffffffffffdp-1)
Result:
 is:          2.14718475310122677917055904836884e+28   0x1.1584624c14882fff76592b4ec10p+94
 should be:   inf   inf
Failure: tanpi_towardzero (-0xfffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_towardzero (-0xfffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_towardzero (-0xfffffffffffffffdp-1)
Result:
 is:         -2.14718475310122677917055904836884e+28  -0x1.1584624c14882fff76592b4ec10p+94
 should be:  -inf  -inf
Failure: tanpi_towardzero (0x3fffffffffffffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_towardzero (0x3fffffffffffffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_towardzero (0x3fffffffffffffffffffffffffdp-1)
Result:
 is:          6.60739946234609289593176521179840e+15   0x1.7796511d79d6ce55bc8bf083fe0p+52
 should be:   inf   inf
Failure: tanpi_towardzero (-0x3fffffffffffffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_towardzero (-0x3fffffffffffffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_towardzero (-0x3fffffffffffffffffffffffffdp-1)
Result:
 is:         -6.60739946234609289593176521179840e+15  -0x1.7796511d79d6ce55bc8bf083fe0p+52
 should be:  -inf  -inf
Failure: Test: tanpi_towardzero (-0x3.fffffffffffffffcp+108)
Result:
 is:         -1.17953443892757434921819283936141e-14  -0x1.a8f8d97fb893518cbe5688935c0p-47
 should be:  -0.00000000000000000000000000000000e+00  -0x0.000000000000000000000000000p+0
 difference:  1.17953443892757434921819283936141e-14   0x1.a8f8d97fb893518cbe5688935c0p-47
 ulp       :  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321
 max.ulp   :  8.0000
Failure: Test: tanpi_towardzero (-0x3.ffffffffffffffffffffffffffp+108)
Result:
 is:         -1.85584803206881692897837494734542e-14  -0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 should be:  -0.00000000000000000000000000000000e+00  -0x0.000000000000000000000000000p+0
 difference:  1.85584803206881692897837494734542e-14   0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 ulp       :  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321
 max.ulp   :  8.0000
Failure: Test: tanpi_towardzero (0x3.fffffffffffffffcp+108)
Result:
 is:          1.17953443892757434921819283936141e-14   0x1.a8f8d97fb893518cbe5688935c0p-47
 should be:   0.00000000000000000000000000000000e+00   0x0.000000000000000000000000000p+0
 difference:  1.17953443892757434921819283936141e-14   0x1.a8f8d97fb893518cbe5688935c0p-47
 ulp       :  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321
 max.ulp   :  8.0000
Failure: Test: tanpi_towardzero (0x3.ffffffffffffffffffffffffffp+108)
Result:
 is:          1.85584803206881692897837494734542e-14   0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 should be:   0.00000000000000000000000000000000e+00   0x0.000000000000000000000000000p+0
 difference:  1.85584803206881692897837494734542e-14   0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 ulp       :  179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321
 max.ulp   :  8.0000
Failure: tanpi_upward (-0xfffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_upward (-0xfffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_upward (-0xfffffffffffffffdp-1)
Result:
 is:         -2.14718475310122677917055904836884e+28  -0x1.1584624c14882fff76592b4ec10p+94
 should be:  -inf  -inf
Failure: tanpi_upward (-0x3fffffffffffffffffffffffffdp-1): Exception "Divide by zero" not set
Failure: tanpi_upward (-0x3fffffffffffffffffffffffffdp-1): errno set to 0, expected 34 (ERANGE)
Failure: Test: tanpi_upward (-0x3fffffffffffffffffffffffffdp-1)
Result:
 is:         -6.60739946234609289593176521179829e+15  -0x1.7796511d79d6ce55bc8bf083fdbp+52
 should be:  -inf  -inf
Failure: Test: tanpi_upward (-0x3.fffffffffffffffcp+108)
Result:
 is:         -1.17953443892757434921819283936138e-14  -0x1.a8f8d97fb893518cbe5688935b0p-47
 should be:  -0.00000000000000000000000000000000e+00  -0x0.000000000000000000000000000p+0
 difference:  1.17953443892757434921819283936139e-14   0x1.a8f8d97fb893518cbe5688935b0p-47
 ulp       :  inf
 max.ulp   :  8.0000
Failure: Test: tanpi_upward (-0x3.ffffffffffffffffffffffffffp+108)
Result:
 is:         -1.85584803206881692897837494734542e-14  -0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 should be:  -0.00000000000000000000000000000000e+00  -0x0.000000000000000000000000000p+0
 difference:  1.85584803206881692897837494734543e-14   0x1.4e51e25c1f5ab4470a3a0a42c24p-46
 ulp       :  inf
 max.ulp   :  8.0000
Failure: tanpi_upward (0xf.ffffffffffffbffffffffffffcp+1020): Exception "Invalid operation" set
Failure: tanpi_upward (0xf.ffffffffffffbffffffffffffcp+1020): Exception "Overflow" set
Failure: tanpi_upward (0xf.ffffffffffffbffffffffffffcp+1020): errno set to 33, expected 0 (unchanged)
Failure: Test: tanpi_upward (0xf.ffffffffffffbffffffffffffcp+1020)
Result:
 is:         qNaN
 should be:   0.00000000000000000000000000000000e+00   0x0.000000000000000000000000000p+0
---
 math/auto-libm-test-in        |  12 +-
 math/auto-libm-test-out-tanpi | 708 +++++++++++++++++-----------------
 math/libm-test-tanpi.inc      |   8 +-
 3 files changed, 364 insertions(+), 364 deletions(-)

Comments

Joseph Myers Dec. 19, 2024, 4:52 p.m. UTC | #1
OK.
diff mbox series

Patch

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 0b7f0d3251..a1faf47426 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -8680,8 +8680,8 @@  tanpi min
 tanpi -min
 tanpi min_subnorm
 tanpi -min_subnorm
-tanpi max
-tanpi -max
+tanpi max xfail-rounding:ibm128-libgcc
+tanpi -max xfail-rounding:ibm128-libgcc
 tanpi 1
 tanpi -1
 tanpi 2
@@ -8744,8 +8744,8 @@  tanpi 0x1fffff.6p0
 tanpi -0x1fffff.6p0
 tanpi 0x1fffff.ap0
 tanpi -0x1fffff.ap0
-tanpi 0x3ffffffffffff.6p0
-tanpi -0x3ffffffffffff.6p0
+tanpi 0x3ffffffffffff.6p0 xfail-rounding:ibm128-libgcc
+tanpi -0x3ffffffffffff.6p0 xfail-rounding:ibm128-libgcc
 tanpi 0x3ffffffffffff.ap0
 tanpi -0x3ffffffffffff.ap0
 tanpi 0x1fffffffffffffff.6p0
@@ -8754,8 +8754,8 @@  tanpi 0x1fffffffffffffff.ap0
 tanpi -0x1fffffffffffffff.ap0
 tanpi 0x3fffffffffffffffffffffffffff.6p0
 tanpi -0x3fffffffffffffffffffffffffff.6p0
-tanpi 0x3fffffffffffffffffffffffffff.ap0
-tanpi -0x3fffffffffffffffffffffffffff.ap0
+tanpi 0x3fffffffffffffffffffffffffff.ap0 xfail-rounding:ibm128-libgcc
+tanpi -0x3fffffffffffffffffffffffffff.ap0 xfail-rounding:ibm128-libgcc
 
 tgamma 0.5
 tgamma -0.5
diff --git a/math/auto-libm-test-out-tanpi b/math/auto-libm-test-out-tanpi
index 241a84c0a7..29a6ac2e52 100644
--- a/math/auto-libm-test-out-tanpi
+++ b/math/auto-libm-test-out-tanpi
@@ -364,144 +364,144 @@  tanpi -min_subnorm
 = tanpi tonearest binary128 -0x4p-16496 : -0xcp-16496 : inexact-ok underflow errno-erange-ok
 = tanpi towardzero binary128 -0x4p-16496 : -0xcp-16496 : inexact-ok underflow errno-erange-ok
 = tanpi upward binary128 -0x4p-16496 : -0xcp-16496 : inexact-ok underflow errno-erange-ok
-tanpi max
-= tanpi downward binary32 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+tanpi max xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary32 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward binary32 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary32 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0xf.fffffp+124 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0xf.fffffp+124 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0xf.ffffffffffff8p+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0xf.fffffffffffffffp+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : inexact-ok
-tanpi -max
-= tanpi downward binary32 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+tanpi -max xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary32 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward binary32 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary32 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0xf.fffffp+124 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0xf.fffffp+124 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0xf.ffffffffffff8p+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0xf.fffffffffffffffp+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 tanpi 1
 = tanpi downward binary32 0x1p+0 : -0x0p+0 : inexact-ok
 = tanpi tonearest binary32 0x1p+0 : -0x0p+0 : inexact-ok
@@ -8052,144 +8052,144 @@  tanpi -0x1fffff.ap0
 = tanpi tonearest ibm128 -0x1.fffffap+20 : 0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
 = tanpi towardzero ibm128 -0x1.fffffap+20 : 0x2.6a09e667f3bcc908b2fb1366eap+0 : inexact-ok
 = tanpi upward ibm128 -0x1.fffffap+20 : 0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
-tanpi 0x3ffffffffffff.6p0
-= tanpi downward binary32 0x4p+48 : 0x0p+0 : inexact-ok
+tanpi 0x3ffffffffffff.6p0 xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary32 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary32 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x4p+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary32 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x4p+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x4p+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x4p+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x4p+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x4p+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary32 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x4p+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary32 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary32 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary32 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary32 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x3.fffffcp+48 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bccp+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.fffffcp+48 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bccp+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bccp+0 : inexact-ok
-= tanpi towardzero binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bccp+0 : inexact-ok
-= tanpi upward binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcep+0 : inexact-ok
-= tanpi downward intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
+= tanpi towardzero binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bccp+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcep+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi towardzero intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi upward intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc90cp+0 : inexact-ok
-= tanpi downward m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
+= tanpi towardzero intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc90cp+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi towardzero m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi upward m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc90cp+0 : inexact-ok
-= tanpi downward binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
+= tanpi towardzero m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc90cp+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi upward binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi downward ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366eap+0 : inexact-ok
+= tanpi towardzero binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366eap+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366eap+0 : inexact-ok
-= tanpi upward ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
-tanpi -0x3ffffffffffff.6p0
-= tanpi downward binary32 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366eap+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.ffffffffffff6p+48 : 0x2.6a09e667f3bcc908b2fb1366ebp+0 : xfail:ibm128-libgcc inexact-ok
+tanpi -0x3ffffffffffff.6p0 xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary32 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary32 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary32 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x3.fffffcp+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary32 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.fffffcp+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary32 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary32 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary32 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary32 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x4p+48 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x4p+48 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcep+0 : inexact-ok
+= tanpi towardzero ibm128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x4p+48 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcep+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bccp+0 : inexact-ok
-= tanpi towardzero binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bccp+0 : inexact-ok
-= tanpi upward binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bccp+0 : inexact-ok
-= tanpi downward intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc90cp+0 : inexact-ok
+= tanpi towardzero binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bccp+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bccp+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc90cp+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi towardzero intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi upward intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi downward m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc90cp+0 : inexact-ok
+= tanpi towardzero intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc90cp+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi upward m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : inexact-ok
-= tanpi downward binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi upward binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ebp+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366ebp+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366eap+0 : inexact-ok
-= tanpi upward ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366eap+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366eap+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.ffffffffffff6p+48 : -0x2.6a09e667f3bcc908b2fb1366eap+0 : xfail:ibm128-libgcc inexact-ok
 tanpi 0x3ffffffffffff.ap0
 = tanpi downward binary32 0x4p+48 : 0x0p+0 : inexact-ok
 = tanpi tonearest binary32 0x4p+48 : 0x0p+0 : inexact-ok
@@ -8862,197 +8862,197 @@  tanpi -0x3fffffffffffffffffffffffffff.6p0
 = tanpi tonearest ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
 = tanpi towardzero ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
 = tanpi upward ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-tanpi 0x3fffffffffffffffffffffffffff.ap0
-= tanpi downward binary32 0x4p+108 : 0x0p+0 : inexact-ok
+tanpi 0x3fffffffffffffffffffffffffff.ap0 xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary32 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary32 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x4p+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary32 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x4p+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x4p+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x4p+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x4p+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x4p+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary32 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x4p+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary32 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary32 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary32 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary32 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x3.fffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary64 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.fffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary64 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary64 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary64 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : inexact-ok
-= tanpi downward intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.ffffffffffffep+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : inexact-ok
-= tanpi downward binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.fffffffffffffffcp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi upward binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi downward binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.fffffffffffffffffffffffffffap+108 : -0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-= tanpi upward binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-= tanpi downward ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
+= tanpi towardzero binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-= tanpi upward ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : inexact-ok
-tanpi -0x3fffffffffffffffffffffffffff.ap0
-= tanpi downward binary32 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 0x3.ffffffffffffffffffffffffffp+108 : 0x0p+0 : xfail:ibm128-libgcc inexact-ok
+tanpi -0x3fffffffffffffffffffffffffff.ap0 xfail-rounding:ibm128-libgcc
+= tanpi downward binary32 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary32 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary32 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary32 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x3.fffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary32 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.fffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary32 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary32 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary32 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary32 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary32 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary32 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x4p+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x4p+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x4p+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary64 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : inexact-ok
-= tanpi downward intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.ffffffffffffep+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward intel96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward m68k96 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : inexact-ok
-= tanpi downward binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.fffffffffffffffcp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : inexact-ok
-= tanpi upward binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : inexact-ok
-= tanpi downward binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea94p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.fffffffffffffffffffffffffffap+108 : 0x2.6a09e667f3bcc908b2fb1366ea96p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-= tanpi upward binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-= tanpi downward ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward binary128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi downward ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
 = tanpi tonearest ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-= tanpi towardzero ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
-= tanpi upward ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : inexact-ok
+= tanpi towardzero ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
+= tanpi upward ibm128 -0x3.ffffffffffffffffffffffffffp+108 : -0x0p+0 : xfail:ibm128-libgcc inexact-ok
diff --git a/math/libm-test-tanpi.inc b/math/libm-test-tanpi.inc
index 3e3a126c96..3fcd48d65a 100644
--- a/math/libm-test-tanpi.inc
+++ b/math/libm-test-tanpi.inc
@@ -50,15 +50,15 @@  static const struct test_f_f_data tanpi_test_data[] =
 #endif
 #if MANT_DIG >= 64
     TEST_f_f (tanpi, 0xffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
-    TEST_f_f (tanpi, 0xfffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+    TEST_f_f (tanpi, 0xfffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE|XFAIL_ROUNDING_IBM128_LIBGCC),
     TEST_f_f (tanpi, -0xffffffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
-    TEST_f_f (tanpi, -0xfffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+    TEST_f_f (tanpi, -0xfffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE|XFAIL_ROUNDING_IBM128_LIBGCC),
 #endif
 #if MANT_DIG >= 106
     TEST_f_f (tanpi, 0x3ffffffffffffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
-    TEST_f_f (tanpi, 0x3fffffffffffffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+    TEST_f_f (tanpi, 0x3fffffffffffffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE|XFAIL_ROUNDING_IBM128_LIBGCC),
     TEST_f_f (tanpi, -0x3ffffffffffffffffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
-    TEST_f_f (tanpi, -0x3fffffffffffffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+    TEST_f_f (tanpi, -0x3fffffffffffffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE|XFAIL_ROUNDING_IBM128_LIBGCC),
 #endif
 #if MANT_DIG >= 113
     TEST_f_f (tanpi, 0x1ffffffffffffffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),