[PATCH] math: Remove xfail from pow test [BZ #33563]

Wilco Dijkstra Wilco.Dijkstra@arm.com
Fri Oct 31 13:50:19 GMT 2025


Remove xfail from pow testcase since pow and powf have been fixed.
Also check float128 maximum value.  See BZ #33563.

Passes regress, OK for commit?

---

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index fcf19cc1e6690665aed717c3b70fd8d1a9e3d8dc..f0888b3c9b02942427ca3ada383a2798547601cc 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -8378,8 +8378,8 @@ pow 0x1.059c76p+0 0x1.ff80bep+11
 pow 0x1.7ac7cp+5 23
 pow -0x1.7ac7cp+5 23
 
-# BZ33411.  xfail for binary32 due to BZ#33563.
-pow 0x1p+8192 1.0 xfail:binary32
+# BZ #33411 and BZ #33563.
+pow 0x1p+16384 1.0
 
 pown 0 0
 pown 0 -0
diff --git a/math/auto-libm-test-out-pow b/math/auto-libm-test-out-pow
index cbca46cd0c60fb6e3f75c7ba276c744d48dadfec..3e4ddac65bb61cb24bd9f2f7a82185bc67a7d12c 100644
--- a/math/auto-libm-test-out-pow
+++ b/math/auto-libm-test-out-pow
@@ -44221,68 +44221,72 @@ pow -0x1.7ac7cp+5 23
 = pow tonearest ibm128 -0x2.f58f8p+4 0x1.7p+4 : -0xf.fffff29cf02eeec4a7cde7b5a4p+124 : inexact-ok
 = pow towardzero ibm128 -0x2.f58f8p+4 0x1.7p+4 : -0xf.fffff29cf02eeec4a7cde7b5ap+124 : inexact-ok
 = pow upward ibm128 -0x2.f58f8p+4 0x1.7p+4 : -0xf.fffff29cf02eeec4a7cde7b5ap+124 : inexact-ok
-pow 0x1p+8192 1.0 xfail:binary32
-= pow downward binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow tonearest ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow towardzero ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow upward ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : xfail:binary32 inexact-ok
-= pow downward binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow tonearest binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow towardzero binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow upward binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow downward intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow tonearest intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow towardzero intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow upward intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow downward m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow tonearest m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow towardzero m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow upward m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow downward binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow tonearest binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow towardzero binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow upward binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow downward ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow tonearest ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow towardzero ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow upward ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : xfail:binary32 inexact-ok
-= pow downward intel96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow tonearest intel96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow towardzero intel96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow upward intel96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow downward m68k96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow tonearest m68k96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow towardzero m68k96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow upward m68k96 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow downward binary128 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow tonearest binary128 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow towardzero binary128 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow upward binary128 0x1p+8192 0x1p+0 : 0x1p+8192 : xfail:binary32 inexact-ok
-= pow downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
-= pow upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:binary32 inexact-ok
+pow 0x1p+16384 1.0
+= pow downward binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward binary32 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward binary64 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward intel96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward m68k96 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward binary128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow tonearest ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow towardzero ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow upward ibm128 0xf.fffffp+124 0x1p+0 : 0xf.fffffp+124 : inexact-ok
+= pow downward binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow tonearest binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow towardzero binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow upward binary64 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow downward intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow tonearest intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow towardzero intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow upward intel96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow downward m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow tonearest m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow towardzero m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow upward m68k96 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow downward binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow tonearest binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow towardzero binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow upward binary128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow downward ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow tonearest ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow towardzero ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow upward ibm128 0xf.ffffffffffff8p+1020 0x1p+0 : 0xf.ffffffffffff8p+1020 : inexact-ok
+= pow downward intel96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow tonearest intel96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow towardzero intel96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow upward intel96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow downward m68k96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow tonearest m68k96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow towardzero m68k96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow upward m68k96 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow downward binary128 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow tonearest binary128 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow towardzero binary128 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow upward binary128 0xf.fffffffffffffffp+16380 0x1p+0 : 0xf.fffffffffffffffp+16380 : inexact-ok
+= pow downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 0x1p+0 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= pow tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 0x1p+0 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= pow towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 0x1p+0 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= pow upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 0x1p+0 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact-ok
+= pow downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok
+= pow upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 0x1p+0 : 0xf.ffffffffffffbffffffffffffcp+1020 : inexact-ok



More information about the Libc-alpha mailing list