From: Ulrich Drepper Date: Tue, 19 Oct 2010 16:56:42 +0000 (-0400) Subject: Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64. X-Git-Tag: glibc-2.13~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18edac4857531b4b034eef37a07e3b03117de2bf;p=thirdparty%2Fglibc.git Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64. --- diff --git a/ChangeLog b/ChangeLog index f90f3030698..e162666af7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-10-19 Ulrich Drepper + + * sysdeps/i386/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/x86_64/bits/mathdef.h: Likewise. + + * bits/mathdef.h: Update copyright year. + * sysdeps/powerpc/bits/mathdef.h: Likewise. + 2010-10-19 Michael Meissner * bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has fast fma diff --git a/bits/mathdef.h b/bits/mathdef.h index 973438097e8..3cea5847cff 100644 --- a/bits/mathdef.h +++ b/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1997,1998,1999,2000,2004,2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/sysdeps/i386/bits/mathdef.h b/sysdeps/i386/bits/mathdef.h index ec42ed5df9c..479eb96f926 100644 --- a/sysdeps/i386/bits/mathdef.h +++ b/sysdeps/i386/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000, 2004, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,4 +43,18 @@ typedef long double double_t; /* `double' expressions are evaluated as # define FP_ILOGB0 (-2147483647 - 1) # define FP_ILOGBNAN (-2147483647 - 1) +/* 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 */ diff --git a/sysdeps/powerpc/bits/mathdef.h b/sysdeps/powerpc/bits/mathdef.h index 0c99248bedd..7723f0caaf5 100644 --- a/sysdeps/powerpc/bits/mathdef.h +++ b/sysdeps/powerpc/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006 +/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006,2010 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/x86_64/bits/mathdef.h b/sysdeps/x86_64/bits/mathdef.h index 7b161895904..91463921b18 100644 --- a/sysdeps/x86_64/bits/mathdef.h +++ b/sysdeps/x86_64/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2004, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -45,4 +45,18 @@ typedef long double double_t; /* `double' expressions are evaluated as # define FP_ILOGB0 (-2147483647 - 1) # define FP_ILOGBNAN (-2147483647 - 1) +/* 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 */