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/flt-32/s_truncf.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sysdeps/ieee754/flt-32') diff --git a/sysdeps/ieee754/flt-32/s_truncf.c b/sysdeps/ieee754/flt-32/s_truncf.c index e587706b5b..274638820e 100644 --- a/sysdeps/ieee754/flt-32/s_truncf.c +++ b/sysdeps/ieee754/flt-32/s_truncf.c @@ -22,11 +22,16 @@ #include #include +#include float __truncf (float x) { +#if USE_TRUNCF_BUILTIN + return __builtin_truncf (x); +#else + /* Use generic implementation. */ int32_t i0, j0; int sx; @@ -49,6 +54,7 @@ __truncf (float x) } return x; +#endif /* ! USE_TRUNCF_BUILTIN */ } #ifndef __truncf libm_alias_float (__trunc, trunc) -- cgit 1.4.1