about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c')
-rw-r--r--REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c b/REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c
new file mode 100644
index 0000000000..b7d7b5ff27
--- /dev/null
+++ b/REORG.TODO/sysdeps/x86_64/fpu/multiarch/e_exp.c
@@ -0,0 +1,18 @@
+#include <init-arch.h>
+#include <math.h>
+#include <math_private.h>
+
+extern double __ieee754_exp_sse2 (double);
+extern double __ieee754_exp_avx (double);
+extern double __ieee754_exp_fma4 (double);
+
+libm_ifunc (__ieee754_exp,
+	    HAS_ARCH_FEATURE (FMA4_Usable) ? __ieee754_exp_fma4
+	    : (HAS_ARCH_FEATURE (AVX_Usable)
+	       ? __ieee754_exp_avx : __ieee754_exp_sse2));
+strong_alias (__ieee754_exp, __exp_finite)
+
+#define __ieee754_exp __ieee754_exp_sse2
+
+
+#include <sysdeps/ieee754/dbl-64/e_exp.c>