From 18edac4857531b4b034eef37a07e3b03117de2bf Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 19 Oct 2010 12:56:42 -0400 Subject: [PATCH] Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64. --- ChangeLog | 11 +++++++++++ bits/mathdef.h | 2 +- sysdeps/i386/bits/mathdef.h | 16 +++++++++++++++- sysdeps/powerpc/bits/mathdef.h | 2 +- sysdeps/x86_64/bits/mathdef.h | 16 +++++++++++++++- 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index f90f303..e162666 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 9734380..3cea584 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 ec42ed5..479eb96 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 0c99248..7723f0c 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 7b16189..9146392 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 */ -- 2.7.4