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

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Fri Oct 31 16:18:38 GMT 2025



On 31/10/25 10:50, Wilco Dijkstra wrote:
> 
> 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?

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> 
> ---
> 
> 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