Message ID | 20240719142304.881545-1-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | powerpc: Update sofp-fp ulps | expand |
Thanks; naturally ok for 2.40 and already pushed, minus one typo :) Am Freitag, 19. Juli 2024, 16:22:58 MESZ schrieb Adhemerval Zanella: > Results based on regen-ulps using gcc 11.2.1 on a POWER8 machine. > --- > sysdeps/powerpc/nofpu/libm-test-ulps | 103 +++++++++++++++++++++++++++ > 1 file changed, 103 insertions(+) > > diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps > index 94d737a400..fcebafc1d5 100644 > --- a/sysdeps/powerpc/nofpu/libm-test-ulps > +++ b/sysdeps/powerpc/nofpu/libm-test-ulps > @@ -918,6 +918,9 @@ ldouble: 10 > Function: "div_ldouble": > float: 1 > > +Function: "div_towardzero_ldouble": > +double: 1 > + > Function: "erf": > double: 1 > float: 1 > @@ -982,6 +985,26 @@ double: 2 > float: 1 > ldouble: 4 > > +Function: "exp10m1": > +double: 2 > +float: 1 > +ldouble: 3 > + > +Function: "exp10m1_downward": > +double: 1 > +float: 1 > +ldouble: 9 > + > +Function: "exp10m1_towardzero": > +double: 1 > +float: 1 > +ldouble: 9 > + > +Function: "exp10m1_upward": > +double: 3 > +float: 1 > +ldouble: 4 > + > Function: "exp2": > double: 1 > float: 1 > @@ -1002,6 +1025,26 @@ double: 1 > float: 1 > ldouble: 2 > > +Function: "exp2m1": > +double: 1 > +float: 1 > +ldouble: 2 > + > +Function: "exp2m1_downward": > +double: 2 > +float: 1 > +ldouble: 3 > + > +Function: "exp2m1_towardzero": > +double: 2 > +float: 1 > +ldouble: 3 > + > +Function: "exp2m1_upward": > +double: 1 > +float: 1 > +ldouble: 3 > + > Function: "exp_downward": > double: 1 > float: 1 > @@ -1043,12 +1086,28 @@ ldouble: 1 > Function: "fma_downward": > ldouble: 1 > > +Function: "fma_downward_ldouble": > +double: 1 > +float: 1 > + > +Function: "fma_ldouble": > +double: 1 > +float: 1 > + > Function: "fma_towardzero": > ldouble: 2 > > +Function: "fma_towardzero_ldouble": > +double: 1 > +float: 1 > + > Function: "fma_upward": > ldouble: 3 > > +Function: "fma_upward_ldouble": > +double: 1 > +float: 1 > + > Function: "fmod": > ldouble: 1 > > @@ -1083,6 +1142,7 @@ ldouble: 11 > > Function: "hypot": > double: 1 > +float: 1 > ldouble: 1 > > Function: "hypot_downward": > @@ -1207,6 +1267,26 @@ double: 2 > float: 2 > ldouble: 2 > > +Function: "log10p1": > +double: 1 > +float: 1 > +ldouble: 3 > + > +Function: "log10p1_downward": > +double: 2 > +float: 1 > +ldouble: 4 > + > +Function: "log10p1_towardzero": > +double: 2 > +float: 2 > +ldouble: 4 > + > +Function: "log10p1_upward": > +double: 2 > +float: 1 > +ldouble: 3 > + > Function: "log1p": > double: 1 > float: 1 > @@ -1247,6 +1327,26 @@ double: 3 > float: 3 > ldouble: 4 > > +Function: "log2p1": > +double: 1 > +float: 1 > +ldouble: 1 > + > +Function: "log2p1_downward": > +double: 2 > +float: 2 > +ldouble: 4 > + > +Function: "log2p1_towardzero": > +double: 2 > +float: 2 > +ldouble: 4 > + > +Function: "log2p1_upward": > +double: 1 > +float: 2 > +ldouble: 4 > + > Function: "log_downward": > float: 2 > ldouble: 1 > @@ -1406,6 +1506,9 @@ ldouble: 1 > Function: "sqrt_downward": > ldouble: 1 > > +Function: "sqrt_ldouble": > +double: 1 > + > Function: "sqrt_towardzero": > ldouble: 1 > >
Hi, I noticed that: > > +Function: "div_towardzero_ldouble": > > +double: 1 does it mean division is not correctly rounded? Paul
> On 19 Jul 2024, at 15:22, Paul Zimmermann <Paul.Zimmermann@inria.fr> wrote: > > Hi, > > I noticed that: > >>> +Function: "div_towardzero_ldouble": >>> +double: 1 > > does it mean division is not correctly rounded? > > Paul Yes, this is the IBM long double format which has a lot of corner cases and mostly used by old system/ABIs. IBM itself is moving towards IEEE 128 float, so I would not bother trying to fix it.
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 94d737a400..fcebafc1d5 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -918,6 +918,9 @@ ldouble: 10 Function: "div_ldouble": float: 1 +Function: "div_towardzero_ldouble": +double: 1 + Function: "erf": double: 1 float: 1 @@ -982,6 +985,26 @@ double: 2 float: 1 ldouble: 4 +Function: "exp10m1": +double: 2 +float: 1 +ldouble: 3 + +Function: "exp10m1_downward": +double: 1 +float: 1 +ldouble: 9 + +Function: "exp10m1_towardzero": +double: 1 +float: 1 +ldouble: 9 + +Function: "exp10m1_upward": +double: 3 +float: 1 +ldouble: 4 + Function: "exp2": double: 1 float: 1 @@ -1002,6 +1025,26 @@ double: 1 float: 1 ldouble: 2 +Function: "exp2m1": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp2m1_downward": +double: 2 +float: 1 +ldouble: 3 + +Function: "exp2m1_towardzero": +double: 2 +float: 1 +ldouble: 3 + +Function: "exp2m1_upward": +double: 1 +float: 1 +ldouble: 3 + Function: "exp_downward": double: 1 float: 1 @@ -1043,12 +1086,28 @@ ldouble: 1 Function: "fma_downward": ldouble: 1 +Function: "fma_downward_ldouble": +double: 1 +float: 1 + +Function: "fma_ldouble": +double: 1 +float: 1 + Function: "fma_towardzero": ldouble: 2 +Function: "fma_towardzero_ldouble": +double: 1 +float: 1 + Function: "fma_upward": ldouble: 3 +Function: "fma_upward_ldouble": +double: 1 +float: 1 + Function: "fmod": ldouble: 1 @@ -1083,6 +1142,7 @@ ldouble: 11 Function: "hypot": double: 1 +float: 1 ldouble: 1 Function: "hypot_downward": @@ -1207,6 +1267,26 @@ double: 2 float: 2 ldouble: 2 +Function: "log10p1": +double: 1 +float: 1 +ldouble: 3 + +Function: "log10p1_downward": +double: 2 +float: 1 +ldouble: 4 + +Function: "log10p1_towardzero": +double: 2 +float: 2 +ldouble: 4 + +Function: "log10p1_upward": +double: 2 +float: 1 +ldouble: 3 + Function: "log1p": double: 1 float: 1 @@ -1247,6 +1327,26 @@ double: 3 float: 3 ldouble: 4 +Function: "log2p1": +double: 1 +float: 1 +ldouble: 1 + +Function: "log2p1_downward": +double: 2 +float: 2 +ldouble: 4 + +Function: "log2p1_towardzero": +double: 2 +float: 2 +ldouble: 4 + +Function: "log2p1_upward": +double: 1 +float: 2 +ldouble: 4 + Function: "log_downward": float: 2 ldouble: 1 @@ -1406,6 +1506,9 @@ ldouble: 1 Function: "sqrt_downward": ldouble: 1 +Function: "sqrt_ldouble": +double: 1 + Function: "sqrt_towardzero": ldouble: 1