From 1ac9c1cf87216bf9f8ac4f7c9754d025d9f2c4ae Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 11 Dec 2019 15:09:22 +0100 Subject: Use GCC builtins for trunc functions if desired. This patch is using the corresponding GCC builtin for truncf, trunc, truncl and truncf128 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 --- sysdeps/ieee754/dbl-64/s_trunc.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sysdeps/ieee754/dbl-64') diff --git a/sysdeps/ieee754/dbl-64/s_trunc.c b/sysdeps/ieee754/dbl-64/s_trunc.c index 0de68ce298..c3129fea7b 100644 --- a/sysdeps/ieee754/dbl-64/s_trunc.c +++ b/sysdeps/ieee754/dbl-64/s_trunc.c @@ -22,11 +22,16 @@ #include #include +#include double __trunc (double x) { +#if USE_TRUNC_BUILTIN + return __builtin_trunc (x); +#else + /* Use generic implementation. */ int64_t i0, j0; int64_t sx; @@ -49,6 +54,7 @@ __trunc (double x) } return x; +#endif /* ! USE_TRUNC_BUILTIN */ } #ifndef __trunc libm_alias_double (__trunc, trunc) -- cgit 1.4.1