Add C99 FP_FAST_FMA{,F,L} macros to math.h
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Tue, 19 Oct 2010 16:49:05 +0000 (12:49 -0400)
committerUlrich Drepper <drepper@gmail.com>
Tue, 19 Oct 2010 16:49:05 +0000 (12:49 -0400)
ChangeLog
bits/mathdef.h
sysdeps/powerpc/bits/mathdef.h

index 613f8df..f90f303 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has fast fma
+       builtins, define the macros in the C99 standard.
+       (FP_FAST_FMAF): Likewise.
+       (FP_FAST_FMAL): Likewise.
+       * sysdeps/powerpc/bits/mathdef.h (FP_FAST_FMA): Define, ppc as
+       multiply/add.
+       (FP_FAST_FMAF): Likewise.
+
 2010-10-15  Jakub Jelinek  <jakub@redhat.com>
 
        [BZ #3268]
index 00c6724..9734380 100644 (file)
@@ -34,6 +34,20 @@ typedef double double_t;     /* `double' expressions are evaluated as
 # define FP_ILOGB0     (-2147483647)
 # define FP_ILOGBNAN   2147483647
 
+/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
+   builtins are supported.  */
+#if __FP_FAST_FMA
+# define FP_FAST_FMA 1
+#endif
+
+#if __FP_FAST_FMAF
+# define FP_FAST_FMAF 1
+#endif
+
+#if __FP_FAST_FMAL
+# define FP_FAST_FMAL 1
+#endif
+
 #endif /* ISO C99 */
 
 #ifndef __NO_LONG_DOUBLE_MATH
index b79cc6f..0c99248 100644 (file)
@@ -61,4 +61,8 @@ typedef double double_t;
 # define FP_ILOGB0     (-2147483647)
 # define FP_ILOGBNAN   (2147483647)
 
+/* The powerpc has a combined multiply/add instruction.  */
+# define FP_FAST_FMA 1
+# define FP_FAST_FMAF 1
+
 #endif /* ISO C99 */