diff --git a/ChangeLog b/ChangeLog index c61990d521..ec667708be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2016-09-30 Joseph Myers + * sysdeps/ieee754/dbl-64/dla.h [__FP_FAST_FMA] (DLA_FMS): Define + macro to use __builtin_fma. + * sysdeps/x86_64/fpu/dla.h: Remove file. + * sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h [__NO_LONG_DOUBLE_MATH] (__iscanonicall): Do not declare. [__NO_LONG_DOUBLE_MATH] (iscanonical): Define to evaluate to 1. diff --git a/sysdeps/ieee754/dbl-64/dla.h b/sysdeps/ieee754/dbl-64/dla.h index d21c47a68f..d64e630a52 100644 --- a/sysdeps/ieee754/dbl-64/dla.h +++ b/sysdeps/ieee754/dbl-64/dla.h @@ -57,6 +57,10 @@ z=(x)-(y); zz=(fabs(x)>fabs(y)) ? (((x)-(z))-(y)) : ((x)-((y)+(z))); +#ifdef __FP_FAST_FMA +# define DLA_FMS(x, y, z) __builtin_fma (x, y, -(z)) +#endif + /* Exact multiplication of two single-length floating point numbers, */ /* Veltkamp. The macro produces a double-length number (z,zz) that */ /* satisfies z+zz = x*y exactly. p,hx,tx,hy,ty are temporary */ diff --git a/sysdeps/x86_64/fpu/dla.h b/sysdeps/x86_64/fpu/dla.h deleted file mode 100644 index 688efa0f5b..0000000000 --- a/sysdeps/x86_64/fpu/dla.h +++ /dev/null @@ -1,8 +0,0 @@ -#include - -#ifdef __FMA4__ -# define DLA_FMS(x,y,z) \ - __builtin_fma (x, y, -(z)) -#endif - -#include "sysdeps/ieee754/dbl-64/dla.h"