diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/powerpc/fpu/math-use-builtins.h | 8 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c | 36 |
3 files changed, 10 insertions, 38 deletions
diff --git a/sysdeps/powerpc/fpu/math-use-builtins.h b/sysdeps/powerpc/fpu/math-use-builtins.h index 957216a191..72e28ec9cc 100644 --- a/sysdeps/powerpc/fpu/math-use-builtins.h +++ b/sysdeps/powerpc/fpu/math-use-builtins.h @@ -66,6 +66,12 @@ #define USE_FMA_BUILTIN 1 #define USE_FMAF_BUILTIN 1 #define USE_FMAL_BUILTIN 0 -#define USE_FMAF128_BUILTIN 0 + +/* This is not available for P8 or BE targets. */ +#ifdef __FP_FAST_FMAF128 +# define USE_FMAF128_BUILTIN 1 +#else +# define USE_FMAF128_BUILTIN 0 +#endif #endif diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c index 8df77ceade..49aeb3a8f4 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/s_fmaf128-power9.c @@ -20,7 +20,9 @@ #undef libm_alias_float128 #define libm_alias_float128(a, b) +#undef strong_alias +#define strong_alias(a, b) #define __fmaf128 __fmaf128_power9 -#include <sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c> +#include <sysdeps/ieee754/float128/s_fmaf128.c> diff --git a/sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c b/sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c deleted file mode 100644 index f02e810fb9..0000000000 --- a/sysdeps/powerpc/powerpc64/le/power9/fpu/s_fmaf128.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Compute x * y + z as a ternary operation for _Float128. POWER9 version. - Copyright (C) 2020 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file into - combinations with other programs, and to distribute those - combinations without any restriction coming from the use of this - file. (The Lesser General Public License restrictions do apply in - other respects; for example, they cover modification of the file, - and distribution when not linked into a combine executable.) - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <libm-alias-float128.h> - -__float128 -__fmaf128 (__float128 x, __float128 y, __float128 z) -{ - return x * y + z; -} - -libm_alias_float128 (__fma, fma) |