summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/float128
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2019-12-11 15:09:18 +0100
committerStefan Liebler <stli@linux.ibm.com>2019-12-11 15:12:15 +0100
commitae3577f607b50bf3ce9b0877e43ad2508c9da61b (patch)
treeb284b10fc26c0454a71be353759f3d2f892b06e0 /sysdeps/ieee754/float128
parent36e9acbd5cb2c330c0d53195db4a0ee31f2c3097 (diff)
downloadglibc-ae3577f607b50bf3ce9b0877e43ad2508c9da61b.tar.gz
Use GCC builtins for nearbyint functions if desired.
This patch is using the corresponding GCC builtin for nearbyintf, nearbyint, nearbintl and nearbyintf128 if the USE_FUNCTION_BUILTIN macros are defined to one in math-use-builtins.h. This is the case for s390 if build with at least --march=z196 --mzarch. Otherwise the generic implementation is used. The code of the generic implementation is not changed. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/ieee754/float128')
-rw-r--r--sysdeps/ieee754/float128/float128_private.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h
index 4e31ef365b..e96986a968 100644
--- a/sysdeps/ieee754/float128/float128_private.h
+++ b/sysdeps/ieee754/float128/float128_private.h
@@ -139,6 +139,9 @@
#undef libm_alias_double_ldouble
#define libm_alias_double_ldouble(func) libm_alias_float64_float128 (func)
+#include <math-use-builtins.h>
+#undef USE_NEARBYINTL_BUILTIN
+#define USE_NEARBYINTL_BUILTIN USE_NEARBYINTF128_BUILTIN
/* IEEE function renames. */
#define __ieee754_acoshl __ieee754_acoshf128
@@ -342,6 +345,7 @@
/* Builtin renames. */
#define __builtin_copysignl __builtin_copysignf128
#define __builtin_signbitl __builtin_signbit
+#define __builtin_nearbyintl __builtin_nearbyintf128
/* Get the constant suffix from bits/floatn-compat.h. */
#define L(x) __f128 (x)