[PATCH 07/10] math: Remove the error handling wrapper from atan2f
Adhemerval Zanella
adhemerval.zanella@linaro.org
Thu Dec 19 20:13:11 GMT 2024
It improves latency for about 3-6% and throughput for about 5-12%.
---
math/Versions | 1 +
math/w_atan2f.c | 8 ++++++++
math/w_atan2f_compat.c | 11 ++++++++---
sysdeps/ieee754/flt-32/e_atan2f.c | 19 ++++++++++++++++---
sysdeps/ieee754/flt-32/w_atan2f.c | 1 +
sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c | 8 ++++++++
sysdeps/mach/hurd/i386/libm.abilist | 1 +
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 +
sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 +
sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 +
sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 1 +
.../sysv/linux/m68k/coldfire/libm.abilist | 1 +
.../sysv/linux/microblaze/be/libm.abilist | 1 +
.../sysv/linux/microblaze/le/libm.abilist | 1 +
.../unix/sysv/linux/mips/mips32/libm.abilist | 1 +
.../unix/sysv/linux/mips/mips64/libm.abilist | 1 +
.../linux/powerpc/powerpc32/fpu/libm.abilist | 1 +
.../powerpc/powerpc32/nofpu/libm.abilist | 1 +
.../linux/powerpc/powerpc64/be/libm.abilist | 1 +
.../linux/powerpc/powerpc64/le/libm.abilist | 1 +
.../unix/sysv/linux/s390/s390-32/libm.abilist | 1 +
.../unix/sysv/linux/s390/s390-64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 +
.../sysv/linux/sparc/sparc32/libm.abilist | 1 +
.../sysv/linux/sparc/sparc64/libm.abilist | 1 +
.../unix/sysv/linux/x86_64/64/libm.abilist | 1 +
.../unix/sysv/linux/x86_64/x32/libm.abilist | 1 +
30 files changed, 66 insertions(+), 6 deletions(-)
create mode 100644 math/w_atan2f.c
create mode 100644 sysdeps/ieee754/flt-32/w_atan2f.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
diff --git a/math/Versions b/math/Versions
index 79c82de16e..2a3d98ed55 100644
--- a/math/Versions
+++ b/math/Versions
@@ -676,5 +676,6 @@ libm {
acosf;
asinf;
acoshf;
+ atan2f;
}
}
diff --git a/math/w_atan2f.c b/math/w_atan2f.c
new file mode 100644
index 0000000000..4ce4020bfe
--- /dev/null
+++ b/math/w_atan2f.c
@@ -0,0 +1,8 @@
+#include <math-type-macros-float.h>
+#undef __USE_WRAPPER_TEMPLATE
+#define __USE_WRAPPER_TEMPLATE 1
+#undef declare_mgen_alias
+#define declare_mgen_alias(a, b)
+#include <w_atan2_template.c>
+versioned_symbol (libm, __atan2f, atan2f, GLIBC_2_41);
+libm_alias_float_other (__atan2f, atan2f)
diff --git a/math/w_atan2f_compat.c b/math/w_atan2f_compat.c
index 8864010fcb..183f36561f 100644
--- a/math/w_atan2f_compat.c
+++ b/math/w_atan2f_compat.c
@@ -26,9 +26,9 @@
#include <libm-alias-float.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_41)
float
-__atan2f (float y, float x)
+__atan2_compatf (float y, float x)
{
float z;
@@ -40,5 +40,10 @@ __atan2f (float y, float x)
__set_errno (ERANGE);
return z;
}
-libm_alias_float (__atan2, atan2)
+# ifdef NO_COMPAT_NEEDED
+strong_alias (__atan2_compatf, __atan2f)
+libm_alias_float (__atan2_compat, atan2)
+# else
+compat_symbol (libm, __atan2_compatf, atan2f, GLIBC_2_0);
+# endif
#endif
diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c
index 82a0151293..7720b54395 100644
--- a/sysdeps/ieee754/flt-32/e_atan2f.c
+++ b/sysdeps/ieee754/flt-32/e_atan2f.c
@@ -3,7 +3,7 @@
Copyright (c) 2022-2024 Alexei Sibidanov and Paul Zimmermann.
The original version of this file was copied from the CORE-MATH
-project (file src/binary32/atan2/atan2f.c, revision 7835c5d).
+project (file src/binary32/atan2/atan2f.c, revision 9b28a4a).
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -25,9 +25,12 @@ SOFTWARE.
*/
+#include <errno.h>
#include <math.h>
#include <stdint.h>
#include <libm-alias-finite.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
#include "math_config.h"
static inline double
@@ -89,7 +92,7 @@ cr_atan2f_tiny (float y, float x)
}
float
-__ieee754_atan2f (float y, float x)
+__atan2f (float y, float x)
{
static const double cn[] =
{
@@ -269,6 +272,16 @@ __ieee754_atan2f (float y, float x)
}
r = th + tm;
}
- return r;
+ float rf = r;
+ if (__glibc_unlikely (rf == 0 && y != 0))
+ __set_errno (ERANGE);
+ return rf;
}
+strong_alias (__atan2f, __ieee754_atan2f)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __atan2f, atan2f, GLIBC_2_41);
+libm_alias_float_other (__atan2, atan2)
+#else
+libm_alias_float (__atan2, atan2)
+#endif
libm_alias_finite (__ieee754_atan2f, __atan2f)
diff --git a/sysdeps/ieee754/flt-32/w_atan2f.c b/sysdeps/ieee754/flt-32/w_atan2f.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_atan2f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
new file mode 100644
index 0000000000..ebc8035961
--- /dev/null
+++ b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
@@ -0,0 +1,8 @@
+/* m68k provides an optimized __ieee754_atan2f. */
+#ifdef SHARED
+# define NO_COMPAT_NEEDED 1
+# include <math/w_atan2f_compat.c>
+#else
+# include <math-type-macros-float.h>
+# include <w_atan2_template.c>
+#endif
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 6d315ff0d0..3db9b3adfa 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1240,6 +1240,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index c77803f475..2a35531ea3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1208,6 +1208,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 5f7a952e69..cbfe056a3c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1367,6 +1367,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index f62c5e656f..e0b25bc3e0 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index f62c5e656f..e0b25bc3e0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index c5b3f68692..1424f5750d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 9774e7b519..a8a721d67f 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1247,6 +1247,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index f62c5e656f..e0b25bc3e0 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index 8fc18e8277..542f70b72b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index 8fc18e8277..542f70b72b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 8587d0aa14..db67a1e9b3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 458a07084f..8c9766fdab 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1208,6 +1208,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 9c884e498d..714fb3e30b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1040,6 +1040,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 9eeca55fb9..9d22bfee36 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1039,6 +1039,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index af946fd58f..12ee8f317d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1033,6 +1033,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 5c627183ab..cbcda8ea59 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1392,6 +1392,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index aeeec34ec0..66b6d77226 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1311,6 +1311,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index b5d003b15b..e93f6dd720 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1311,6 +1311,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 6513301bd5..df3534dd3c 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 6513301bd5..df3534dd3c 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -893,6 +893,7 @@ GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif32 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index c92cc3da68..ebed5cb2a1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1318,6 +1318,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 8168a21547..4d35d566c3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1208,6 +1208,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 33d82c98fb..e3c4f35dd1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1241,6 +1241,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 2bd47844a9..46fca15315 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1241,6 +1241,7 @@ GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
+GLIBC_2.41 atan2f F
GLIBC_2.41 atan2pi F
GLIBC_2.41 atan2pif F
GLIBC_2.41 atan2pif128 F
--
2.43.0
More information about the Libc-alpha
mailing list