Fix atan / atan2 missing underflows (bug 15319).
[glibc.git] / sysdeps / x86_64 / fpu / multiarch / e_atan2.c
blob547681cb59da0d43410e4aade9126f686fa85f05
1 #if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
2 # include <init-arch.h>
3 # include <math.h>
4 # include <math_private.h>
6 extern double __ieee754_atan2_sse2 (double, double);
7 extern double __ieee754_atan2_avx (double, double);
8 # ifdef HAVE_FMA4_SUPPORT
9 extern double __ieee754_atan2_fma4 (double, double);
10 # else
11 # undef HAS_FMA4
12 # define HAS_FMA4 0
13 # define __ieee754_atan2_fma4 ((void *) 0)
14 # endif
16 libm_ifunc (__ieee754_atan2,
17 HAS_FMA4 ? __ieee754_atan2_fma4
18 : (HAS_AVX ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
19 strong_alias (__ieee754_atan2, __atan2_finite)
21 # define __ieee754_atan2 __ieee754_atan2_sse2
22 #endif
25 #include <sysdeps/ieee754/dbl-64/e_atan2.c>