On 6/2/20 5:51 AM, Stefan Liebler via Libc-alpha wrote: > #endif /* math-use-builtins.h */ > Please also update the current architecture specific math-use-builtins.h > file: sysdeps/s390/fpu/math-use-builtins.h > Otherwise it will break build on s390x. Done. >> diff --git a/sysdeps/ieee754/dbl-64/s_fma.c b/sysdeps/ieee754/dbl-64/s_fma.c >> index 876df6e78bdc..9dc5b132b9ee 100644 >> --- a/sysdeps/ieee754/dbl-64/s_fma.c >> +++ b/sysdeps/ieee754/dbl-64/s_fma.c >> @@ -25,6 +25,7 @@ >> #include <fenv_private.h> >> #include <libm-alias-double.h> >> #include <tininess.h> >> +#include <math-use-builtins.h> >> >> /* This implementation uses rounding to odd to avoid problems with >> double rounding. See a paper by Boldo and Melquiond: >> @@ -33,6 +34,10 @@ >> double >> __fma (double x, double y, double z) >> { >> +#if USE_FMA_BUILTIN >> + return __builtin_fma (x, y, z); > > Architectures which have support for ldbl-128 will use the file > sysdeps/ieee754/ldbl-128/s_fma.c instead of > sysdeps/ieee754/dbl-64/s_fma.c. Should this file also be adjusted in > order to use the builtin if USE_FMA_BUILTIN is set to one? Right. I used commit f82996f815 "Use GCC builtins for round functions if desired" as starting point for my change. And seems it was not an ideal reference :-) as round has far fewer instances than fma. Indeed fma is present in ldbl-128 and dbl-64 so needs updating in both. But just to be sure s390 is currently not using the newly introduced builtins so I'll keep them as follows. #define USE_SQRT_BUILTIN 0 #define USE_SQRTF_BUILTIN 0 #define USE_FMA_BUILTIN 0 #define USE_FMAF_BUILTIN 0 #define USE_FMAL_BUILTIN 0 #define USE_FMAF128_BUILTIN 0 -Vineet _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc