aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64/le
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc64/le')
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h2
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h6
2 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h
index b03870070f..abab686aa9 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h
@@ -32,6 +32,7 @@
#undef declare_mgen_finite_alias
#undef declare_mgen_alias
#undef declare_mgen_alias_r
+#undef declare_mgen_alias_narrow
#define libm_alias_finite(from, to)
#define libm_alias_float128_r(from, to, r)
@@ -40,6 +41,7 @@
#define declare_mgen_finite_alias(from, to)
#define declare_mgen_alias(from, to)
#define declare_mgen_alias_r(from, to)
+#define declare_mgen_alias_narrow(from, to)
/* Likewise, disable hidden symbol support. This is not needed
for the implementation objects as the redirects already give
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h
index 001cbf70b9..392c66b63d 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h
@@ -27,7 +27,9 @@
/* Include the real math.h to avoid optimizations caused by include/math.h
(e.x fabsf128 prototype is masked by an inline definition).*/
+#define f64xsqrtf128 __hide_f64xsqrtf128
#include <math/math.h>
+#undef f64xsqrtf128
#include <math_private.h>
#include <complex.h>
#include <first-versions.h>
@@ -36,6 +38,7 @@
#include <libm-alias-float128.h>
#include <libm-alias-finite.h>
+#include <math-narrow-alias.h>
/* _F128_IFUNC2(func, from, r)
Generate an ifunc symbol func ## r from the symbols
@@ -149,6 +152,9 @@
/* scalbnf128 is an alias of ldexpf128. */
#define DECL_ALIAS_s_ldexp(f) MAKE_IFUNCP_R (f,) MAKE_IFUNCP_WRAP_R (wrap_, scalbn,)
+/* f64xsqrtf128 is an alias of sqrtf128. */
+#define DECL_ALIAS_w_sqrt(f) MAKE_IFUNCP_R (f,) libm_alias_float128_narrow (__sqrt, sqrt)
+
/* Declare an IFUNC for a symbol which only exists
to provide long double == ieee128 ABI. */
#define DECL_LDOUBLE_ALIAS(func, RTYPE, ARGS) \