diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-10-25 21:34:55 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-10-25 21:34:55 -0400 |
commit | e0016b11d6186a7003d7204cb100acab9bbcd940 (patch) | |
tree | 8c702a330664d113edbdaff9ba4ec67e266bbb80 /sysdeps/x86_64/fpu/multiarch/e_exp.c | |
parent | ffb124cc518c182e238c20abb0ff8bdeaefefd66 (diff) | |
download | glibc-e0016b11d6186a7003d7204cb100acab9bbcd940.tar glibc-e0016b11d6186a7003d7204cb100acab9bbcd940.tar.gz glibc-e0016b11d6186a7003d7204cb100acab9bbcd940.tar.bz2 glibc-e0016b11d6186a7003d7204cb100acab9bbcd940.zip |
Add AVX optimized versions for some x86-64 math functions
Diffstat (limited to 'sysdeps/x86_64/fpu/multiarch/e_exp.c')
-rw-r--r-- | sysdeps/x86_64/fpu/multiarch/e_exp.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp.c b/sysdeps/x86_64/fpu/multiarch/e_exp.c index fc1096b54c..3c650287c5 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp.c @@ -1,11 +1,20 @@ -#ifdef HAVE_FMA4_SUPPORT +#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT # include <init-arch.h> # include <math_private.h> extern double __ieee754_exp_sse2 (double); +extern double __ieee754_exp_avx (double); +# ifdef HAVE_FMA4_SUPPORT extern double __ieee754_exp_fma4 (double); +# else +# undef HAS_FMA4 +# define HAS_FMA4 0 +# define __ieee754_exp_fma4 ((void *) 0) +# endif -libm_ifunc (__ieee754_exp, HAS_FMA4 ? __ieee754_exp_fma4 : __ieee754_exp_sse2); +libm_ifunc (__ieee754_exp, + HAS_FMA4 ? __ieee754_exp_fma4 + : (HAS_AVX ? __ieee754_exp_avx : __ieee754_exp_sse2)); strong_alias (__ieee754_exp, __exp_finite) # define __ieee754_exp __ieee754_exp_sse2 |