mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
9c02f663f6
Here is implementation of vectorized exp containing SSE, AVX, AVX2 and AVX512 versions according to Vector ABI <https://groups.google.com/forum/#!topic/x86-64-abi/LmppCfN1rZ4>. * bits/libm-simd-decl-stubs.h: Added stubs for exp. * math/bits/mathcalls.h: Added exp declaration with __MATHCALL_VEC. * sysdeps/unix/sysv/linux/x86_64/libmvec.abilist: New versions added. * sysdeps/x86/fpu/bits/math-vector.h: Added SIMD declaration and asm redirections for exp. * sysdeps/x86_64/fpu/Makefile (libmvec-support): Added new files. * sysdeps/x86_64/fpu/Versions: New versions added. * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines): Added build of SSE, AVX2 and AVX512 IFUNC versions. * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S: New file. * sysdeps/x86_64/fpu/svml_d_exp2_core.S: New file. * sysdeps/x86_64/fpu/svml_d_exp4_core.S: New file. * sysdeps/x86_64/fpu/svml_d_exp4_core_avx.S: New file. * sysdeps/x86_64/fpu/svml_d_exp8_core.S: New file. * sysdeps/x86_64/fpu/svml_d_exp_data.S: New file. * sysdeps/x86_64/fpu/svml_d_exp_data.h: New file. * sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c: Added vector exp test. * sysdeps/x86_64/fpu/test-double-vlen2.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen4-avx2.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c: Likewise. * sysdeps/x86_64/fpu/test-double-vlen8.c: Likewise. * NEWS: Mention addition of x86_64 vector exp. |
||
---|---|---|
.. | ||
atomic.h | ||
byteswap-16.h | ||
byteswap.h | ||
confname.h | ||
dirent.h | ||
dlfcn.h | ||
elfclass.h | ||
endian.h | ||
environments.h | ||
errno.h | ||
fcntl.h | ||
fenv.h | ||
fenvinline.h | ||
huge_val.h | ||
huge_valf.h | ||
huge_vall.h | ||
in.h | ||
inf.h | ||
ioctl-types.h | ||
ioctls.h | ||
ipc.h | ||
ipctypes.h | ||
libc-lock.h | ||
libc-tsd.h | ||
libm-simd-decl-stubs.h | ||
link.h | ||
linkmap.h | ||
local_lim.h | ||
math-vector.h | ||
mathdef.h | ||
mathinline.h | ||
mman-linux.h | ||
mman.h | ||
mqueue.h | ||
msq.h | ||
nan.h | ||
netdb.h | ||
param.h | ||
poll.h | ||
posix_opt.h | ||
pthreadtypes.h | ||
resource.h | ||
sched.h | ||
select.h | ||
sem.h | ||
setjmp.h | ||
shm.h | ||
sigaction.h | ||
sigcontext.h | ||
siginfo.h | ||
signum.h | ||
sigset.h | ||
sigstack.h | ||
sigthread.h | ||
sockaddr.h | ||
socket.h | ||
stat.h | ||
statfs.h | ||
statvfs.h | ||
stdio-lock.h | ||
stdlib-bsearch.h | ||
string.h | ||
stropts.h | ||
sys_errlist.h | ||
syslog-path.h | ||
termios.h | ||
time.h | ||
types.h | ||
typesizes.h | ||
uio.h | ||
ustat.h | ||
utmp.h | ||
utsname.h | ||
waitflags.h | ||
waitstatus.h | ||
wchar.h | ||
wordsize.h | ||
xtitypes.h |