diff options
author | Andrew Senkevich <andrew.senkevich@intel.com> | 2015-06-23 19:21:50 +0300 |
---|---|---|
committer | Andrew Senkevich <andrew.senkevich@intel.com> | 2015-06-23 19:21:50 +0300 |
commit | 5872b8352a8b6c0aa49c4e9f82bbda32becc5f02 (patch) | |
tree | 87f9545391602848e21061e6d3d7a808672beef7 /sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S | |
parent | 718d34a309493f8697ff9a8fefcbacbba12a2ccd (diff) | |
download | glibc-5872b8352a8b6c0aa49c4e9f82bbda32becc5f02.tar.gz glibc-5872b8352a8b6c0aa49c4e9f82bbda32becc5f02.tar.xz glibc-5872b8352a8b6c0aa49c4e9f82bbda32becc5f02.zip |
Combination of data tables for x86_64 vector functions sin, cos and sincos.
* sysdeps/x86_64/fpu/Makefile (libmvec-support): Fixed files list. * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core_sse4.S: Renamed variable and included header. * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core_avx2.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core_avx2.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core_avx512.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core_sse4.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core_avx2.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S: Likewise. * sysdeps/x86_64/fpu/svml_d_trig_data.S: New file. * sysdeps/x86_64/fpu/svml_d_trig_data.h: Likewise. * sysdeps/x86_64/fpu/svml_d_cos2_core.S: Removed unneeded include. * sysdeps/x86_64/fpu/svml_d_cos4_core.S: Likewise. * sysdeps/x86_64/fpu/svml_d_cos8_core.S: Likewise. * sysdeps/x86_64/fpu/svml_d_cos_data.S: Removed file. * sysdeps/x86_64/fpu/svml_d_cos_data.h: Likewise. * sysdeps/x86_64/fpu/svml_d_sin_data.S: Likewise. * sysdeps/x86_64/fpu/svml_d_sin_data.h: Likewise. * sysdeps/x86_64/fpu/svml_d_sincos_data.S: Likewise. * sysdeps/x86_64/fpu/svml_d_sincos_data.h: Likewise.
Diffstat (limited to 'sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S')
-rw-r--r-- | sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S index 4b4d8be272..3a1ccbf139 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S @@ -17,7 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <sysdep.h> -#include "svml_d_sin_data.h" +#include "svml_d_trig_data.h" .text ENTRY (_ZGVbN2v_sin_sse4) @@ -41,11 +41,11 @@ ENTRY (_ZGVbN2v_sin_sse4) andq $-64, %rsp subq $320, %rsp movaps %xmm0, %xmm5 - movq __svml_dsin_data@GOTPCREL(%rip), %rax + movq __svml_d_trig_data@GOTPCREL(%rip), %rax movups __dAbsMask(%rax), %xmm3 /* - * ARGUMENT RANGE REDUCTION: - * X' = |X| + ARGUMENT RANGE REDUCTION: + X' = |X| */ movaps %xmm3, %xmm4 @@ -90,31 +90,31 @@ ENTRY (_ZGVbN2v_sin_sse4) subpd %xmm1, %xmm0 /* - * POLYNOMIAL APPROXIMATION: - * R2 = R*R + POLYNOMIAL APPROXIMATION: + R2 = R*R */ movaps %xmm0, %xmm1 mulpd %xmm0, %xmm1 /* R = R^SignRes : update sign of reduced argument */ xorps %xmm2, %xmm0 - movups __dC7(%rax), %xmm2 + movups __dC7_sin(%rax), %xmm2 mulpd %xmm1, %xmm2 - addpd __dC6(%rax), %xmm2 + addpd __dC6_sin(%rax), %xmm2 mulpd %xmm1, %xmm2 - addpd __dC5(%rax), %xmm2 + addpd __dC5_sin(%rax), %xmm2 mulpd %xmm1, %xmm2 - addpd __dC4(%rax), %xmm2 + addpd __dC4_sin(%rax), %xmm2 /* Poly = C3+R2*(C4+R2*(C5+R2*(C6+R2*C7))) */ mulpd %xmm1, %xmm2 - addpd __dC3(%rax), %xmm2 + addpd __dC3_sin(%rax), %xmm2 /* Poly = R2*(C1+R2*(C2+R2*Poly)) */ mulpd %xmm1, %xmm2 - addpd __dC2(%rax), %xmm2 + addpd __dC2_sin(%rax), %xmm2 mulpd %xmm1, %xmm2 - addpd __dC1(%rax), %xmm2 + addpd __dC1_sin(%rax), %xmm2 mulpd %xmm2, %xmm1 /* Poly = Poly*R + R */ @@ -122,8 +122,8 @@ ENTRY (_ZGVbN2v_sin_sse4) addpd %xmm1, %xmm0 /* - * RECONSTRUCTION: - * Final sign setting: Res = Poly^SignX + RECONSTRUCTION: + Final sign setting: Res = Poly^SignX */ xorps %xmm3, %xmm0 testl %ecx, %ecx |