]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/x86_64/fpu/multiarch/s_sin.c
Merge remote-tracking branch 'origin/cmetcalf/tile_not_cancel_h'
[thirdparty/glibc.git] / sysdeps / x86_64 / fpu / multiarch / s_sin.c
1 #if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
2 # include <init-arch.h>
3 # include <math.h>
4 # undef NAN
5
6 extern double __cos_sse2 (double);
7 extern double __sin_sse2 (double);
8 extern double __cos_avx (double);
9 extern double __sin_avx (double);
10 # ifdef HAVE_FMA4_SUPPORT
11 extern double __cos_fma4 (double);
12 extern double __sin_fma4 (double);
13 # else
14 # undef HAS_FMA4
15 # define HAS_FMA4 0
16 # define __cos_fma4 ((void *) 0)
17 # define __sin_fma4 ((void *) 0)
18 # endif
19
20 libm_ifunc (__cos, (HAS_FMA4 ? __cos_fma4 :
21 HAS_AVX ? __cos_avx : __cos_sse2));
22 weak_alias (__cos, cos)
23
24 libm_ifunc (__sin, (HAS_FMA4 ? __sin_fma4 :
25 HAS_AVX ? __sin_avx : __sin_sse2));
26 weak_alias (__sin, sin)
27
28 # define __cos __cos_sse2
29 # define __sin __sin_sse2
30 #endif
31
32
33 #include <sysdeps/ieee754/dbl-64/s_sin.c>