]> git.ipfire.org Git - thirdparty/glibc.git/commit
x86-64: Add vector acos/acosf implementation to libmvec
authorSunil K Pandey <skpgkp2@gmail.com>
Wed, 22 Dec 2021 14:20:41 +0000 (06:20 -0800)
committerSunil K Pandey <skpgkp2@gmail.com>
Wed, 22 Dec 2021 21:03:14 +0000 (13:03 -0800)
commitf20f980c71651e2b2c49e717f547d958cbe29a55
tree49c6a6b55bfe523ac0c230182e6fbcbdc1e7c5e2
parentc6d7d6312c21bbcfb236d48bb7c11cedb234389f
x86-64: Add vector acos/acosf implementation to libmvec

Implement vectorized acos/acosf containing SSE, AVX, AVX2 and
AVX512 versions for libmvec as per vector ABI.  It also contains
accuracy and ABI tests for vector acos/acosf with regenerated ulps.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
51 files changed:
bits/libm-simd-decl-stubs.h
math/bits/mathcalls.h
sysdeps/unix/sysv/linux/x86_64/libmvec.abilist
sysdeps/x86/fpu/bits/math-vector.h
sysdeps/x86/fpu/finclude/math-vector-fortran.h
sysdeps/x86_64/fpu/Makeconfig
sysdeps/x86_64/fpu/Versions
sysdeps/x86_64/fpu/libm-test-ulps
sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512-skx.h [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core-sse2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core-sse.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core-avx2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core-avx2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core-sse2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core-sse.S [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_d_acos2_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_d_acos4_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_d_acos8_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_s_acosf16_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_s_acosf4_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_s_acosf8_core.S [new file with mode: 0644]
sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-acos-avx.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-acos-avx2.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-acos-avx512f.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-acos.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c
sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx2.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx512f.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-acosf.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c