about summary refs log tree commit diff
path: root/sysdeps/ieee754/float128
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2019-12-11 15:09:24 +0100
committerStefan Liebler <stli@linux.ibm.com>2019-12-11 15:12:19 +0100
commitf818afdd3b29d7eef2010448457c9f5c16e684cd (patch)
tree642a01b96f19ec7f6668f867ff82eb045688c949 /sysdeps/ieee754/float128
parentf82996f8159981619ac7ed8a4c1838c2ad72ab61 (diff)
downloadglibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.tar.gz
glibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.tar.xz
glibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.zip
Use GCC builtins for copysign functions if desired.
This patch is always using the corresponding GCC builtin for copysignf, copysign,
and is using the builtin for copysignl, copysignf128 if the USE_FUNCTION_BUILTIN
macros are defined to one in math-use-builtins.h.

Altough the long double version is enabled by default we still need
the macro and the alternative implementation as the _Float128 version
of the builtin is not available with all supported GCC versions.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/ieee754/float128')
-rw-r--r--sysdeps/ieee754/float128/float128_private.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h
index a6c76ce364..7f7f904152 100644
--- a/sysdeps/ieee754/float128/float128_private.h
+++ b/sysdeps/ieee754/float128/float128_private.h
@@ -152,6 +152,8 @@
 #define USE_TRUNCL_BUILTIN USE_TRUNCF128_BUILTIN
 #undef USE_ROUNDL_BUILTIN
 #define USE_ROUNDL_BUILTIN USE_ROUNDF128_BUILTIN
+#undef USE_COPYSIGNL_BUILTIN
+#define USE_COPYSIGNL_BUILTIN USE_COPYSIGNF128_BUILTIN
 
 /* IEEE function renames.  */
 #define __ieee754_acoshl __ieee754_acoshf128
@@ -361,6 +363,7 @@
 #define __builtin_ceill __builtin_ceilf128
 #define __builtin_truncl __builtin_truncf128
 #define __builtin_roundl __builtin_roundf128
+#define __builtin_copysignl __builtin_copysignf128
 
 /* Get the constant suffix from bits/floatn-compat.h.  */
 #define L(x) __f128 (x)