diff options
author | Stefan Liebler <stli@linux.ibm.com> | 2019-12-11 15:09:24 +0100 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2019-12-11 15:12:19 +0100 |
commit | f818afdd3b29d7eef2010448457c9f5c16e684cd (patch) | |
tree | 642a01b96f19ec7f6668f867ff82eb045688c949 /sysdeps/generic | |
parent | f82996f8159981619ac7ed8a4c1838c2ad72ab61 (diff) | |
download | glibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.tar glibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.tar.gz glibc-f818afdd3b29d7eef2010448457c9f5c16e684cd.tar.bz2 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/generic')
-rw-r--r-- | sysdeps/generic/math-use-builtins.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/generic/math-use-builtins.h b/sysdeps/generic/math-use-builtins.h index 34ca438a8c..770b54ce61 100644 --- a/sysdeps/generic/math-use-builtins.h +++ b/sysdeps/generic/math-use-builtins.h @@ -19,6 +19,8 @@ #ifndef MATH_USE_BUILTINS_H #define MATH_USE_BUILTINS_H 1 +#include <features.h> /* For __GNUC_PREREQ. */ + /* Define these macros to 1 to use __builtin_xyz instead of the generic implementation. */ #define USE_NEARBYINT_BUILTIN 0 @@ -51,4 +53,11 @@ #define USE_ROUNDL_BUILTIN 0 #define USE_ROUNDF128_BUILTIN 0 +#define USE_COPYSIGNL_BUILTIN 1 +#if __GNUC_PREREQ (7, 0) +# define USE_COPYSIGNF128_BUILTIN 1 +#else +# define USE_COPYSIGNF128_BUILTIN 0 +#endif + #endif /* math-use-builtins.h */ |