[PATCH v2 00/18] Use GCC builtins for some math functions if desired.
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Dec 10 19:18:00 GMT 2019
On 09/12/2019 09:45, Stefan Liebler wrote:
> Hi,
>
> this patch-series moves the nearbyint, rint, floor, ceil, trunc and round implementation from sysdeps/ieee754/dbl-64/wordsize-64 to sysdeps/ieee754/dbl-64/ as proposed by Adhemerval:
> ttps://www.sourceware.org/ml/libc-alpha/2019-11/msg00085.html
>
> It also introduces the math-use-builtins.h header with __USE_<SYMBOL>_BUILTIN macros which allows to just use GCC __builtin_<SYMBOL> instead of the current common-code implementation. There is a float, double, long double and _Float128 version of this macro for each <SYMBOL>.
>
> The generic math-use-builtins.h header is defining all those macros to 0 in order to use the current common-code implenetation. If an architecture wants to use the builtins, an architecture specific math-use-builtins.h needs to be created (e.g. done for s390) where those macros are defined to 1.
>
> Changes compared to first version (see https://www.sourceware.org/ml/libc-alpha/2019-12/msg00029.html) due to review from:
> Joseph Myers:
> * The copysign builtins are now used unconditionally for float, double and long double. For _Float128 the macro is defined to 1 if build with GCC >= 7.
>
> Adhemerval Zanella:
> * Some static array definitions like TWO52 in s_nearbyint.c are moved inside the !USE_NEARBYINT_BUILTIN within the function.
> * The s390 math-use-builtins.h header is now replicating the USE_XYZ* macros for !HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT instead of just including the generic header file.
> * The changes regarding code style in the "Use GCC builtins for xyz functions if desired" patches are splitted out into the new patches "Adjust s_XYZ.c regarding code style."
Hi Stefan,
I reviewed the whole series and it looks good. I haven't reviewed again the
parts 01 to 07 since they are essentially the same as previous version and
they are already reviewed.
More information about the Libc-alpha
mailing list