From 18edac4857531b4b034eef37a07e3b03117de2bf Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 19 Oct 2010 12:56:42 -0400 Subject: Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64. --- sysdeps/i386/bits/mathdef.h | 16 +++++++++++++++- sysdeps/powerpc/bits/mathdef.h | 2 +- sysdeps/x86_64/bits/mathdef.h | 16 +++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/i386/bits/mathdef.h b/sysdeps/i386/bits/mathdef.h index ec42ed5df9..479eb96f92 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 0c99248bed..7723f0caaf 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 7b16189590..91463921b1 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 */ -- cgit v1.2.3