Message ID | 1575895568-26473-1-git-send-email-stli@linux.ibm.com |
---|---|
Headers | show |
Series | Use GCC builtins for some math functions if desired. | expand |
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.
On 12/10/19 8:18 PM, Adhemerval Zanella wrote: > > > 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. > Hi Adhemerval, Thanks for the review. Yes, the first parts have not changed compared to the first version. I've just committed the patches. Bye Stefan