From c6d5d85ccbb8e7d98a790c5dec3e7244254852a2 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 19 Oct 2010 20:09:24 +0000 Subject: [PATCH] Conditionally define FP_FAST_FMA* for ARM. --- ChangeLog.arm | 5 +++++ sysdeps/arm/bits/mathdef.h | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog.arm b/ChangeLog.arm index 02affa8..69a28c6 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,8 @@ +2010-10-19 Joseph Myers + + * sysdeps/arm/bits/mathdef.h (FP_FAST_FMA, FP_FAST_FMAF, + FP_FAST_FMAL): Define if associated GCC macros are defined. + 2010-10-11 Joseph Myers * sysdeps/arm/eabi/feupdateenv.c (feupdateenv): Add diff --git a/sysdeps/arm/bits/mathdef.h b/sysdeps/arm/bits/mathdef.h index daca110..97f5d4d 100644 --- a/sysdeps/arm/bits/mathdef.h +++ b/sysdeps/arm/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2004, 2006, 2007 +/* Copyright (C) 1999, 2000, 2004, 2006, 2007, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -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 -- 2.7.4