diff options
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/fpu/libm-test-ulps | 16 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h | 3 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h | 5 |
3 files changed, 24 insertions, 0 deletions
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index fda4ca4106..5f2b90bc74 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1250,12 +1250,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 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 abab686aa9..6d6f6b5029 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-macros.h @@ -24,11 +24,13 @@ from _Float128 implementation objects. */ #include <libm-alias-float128.h> #include <libm-alias-finite.h> +#include <math-narrow-alias.h> #undef libm_alias_float128_r #undef libm_alias_finite #undef libm_alias_exclusive_ldouble #undef libm_alias_float128_other_r_ldbl +#undef libm_alias_float128_narrow #undef declare_mgen_finite_alias #undef declare_mgen_alias #undef declare_mgen_alias_r @@ -38,6 +40,7 @@ #define libm_alias_float128_r(from, to, r) #define libm_alias_exclusive_ldouble(from, to) #define libm_alias_float128_other_r_ldbl(from, to, r) +#define libm_alias_float128_narrow(from, to) #define declare_mgen_finite_alias(from, to) #define declare_mgen_alias(from, to) #define declare_mgen_alias_r(from, to) diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h index 392c66b63d..bbe8057426 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h @@ -27,8 +27,10 @@ /* Include the real math.h to avoid optimizations caused by include/math.h (e.x fabsf128 prototype is masked by an inline definition).*/ +#define f64xfmaf128 __hide_f64xfmaf128 #define f64xsqrtf128 __hide_f64xsqrtf128 #include <math/math.h> +#undef f64xfmaf128 #undef f64xsqrtf128 #include <math_private.h> #include <complex.h> @@ -152,6 +154,9 @@ /* scalbnf128 is an alias of ldexpf128. */ #define DECL_ALIAS_s_ldexp(f) MAKE_IFUNCP_R (f,) MAKE_IFUNCP_WRAP_R (wrap_, scalbn,) +/* f64xfmaf128 is an alias of fmaf128. */ +#define DECL_ALIAS_s_fma(f) MAKE_IFUNCP_R (f,) libm_alias_float128_narrow (__fma, fma) + /* f64xsqrtf128 is an alias of sqrtf128. */ #define DECL_ALIAS_w_sqrt(f) MAKE_IFUNCP_R (f,) libm_alias_float128_narrow (__sqrt, sqrt) |