glibc/sysdeps/aarch64
Joe Ramsay cd94326a13 Enable libmvec support for AArch64
This patch enables libmvec on AArch64. The proposed change is mainly
implementing build infrastructure to add the new routines to ABI,
tests and benchmarks. I have demonstrated how this all fits together
by adding implementations for vector cos, in both single and double
precision, targeting both Advanced SIMD and SVE.

The implementations of the routines themselves are just loops over the
scalar routine from libm for now, as we are more concerned with
getting the plumbing right at this point. We plan to contribute vector
routines from the Arm Optimized Routines repo that are compliant with
requirements described in the libmvec wiki.

Building libmvec requires minimum GCC 10 for SVE ACLE. To avoid raising
the minimum GCC by such a big jump, we allow users to disable libmvec
if their compiler is too old.

Note that at this point users have to manually call the vector math
functions. This seems to be acceptable to some downstream users.

Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2023-05-03 12:09:49 +01:00
..
bits Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fpu Enable libmvec support for AArch64 2023-05-03 12:09:49 +01:00
multiarch AArch64: Improve SVE memcpy and memmove 2023-02-06 16:15:34 +00:00
nptl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sys Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
__mtag_tag_region.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
__mtag_tag_zero_region.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
abort-instr.h Relocate AArch64 from ports to libc. 2014-02-11 11:36:00 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bsd-_setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
bsd-setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
configure Enable libmvec support for AArch64 2023-05-03 12:09:49 +01:00
configure.ac Enable libmvec support for AArch64 2023-05-03 12:09:49 +01:00
crti.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
crtn.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-audit-check.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-bti.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-link.sym elf: Fix runtime linker auditing on aarch64 (BZ #26643) 2022-02-01 14:49:46 -03:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-machine.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-prop.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-start.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-tlsdesc.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dl-tunables.list Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_sqrtl.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hp-timing.h AArch64: Fix HP_TIMING_DIFF computation [BZ# 29329] 2023-02-22 16:45:59 +00:00
Implies Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-mtag.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-test-ulps Enable libmvec support for AArch64 2023-05-03 12:09:49 +01:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile configure: Use -Wno-ignored-attributes if compiler warns about multiple aliases 2022-11-01 09:51:06 -03:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mcount.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memchr.S AArch64: Optimize memchr 2023-01-17 15:09:18 +00:00
memcmp.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memcpy.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memmove.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
memrchr.S string: Add libc_hidden_proto for memrchr 2023-02-08 17:13:58 -03:00
memset-reg.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memset.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
preconfigure Remove relro configure test. 2014-06-27 16:51:22 +00:00
rawmemchr.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sfp-machine.h Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
start.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stpcpy.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strchr.S AArch64: Optimize strchr 2023-01-17 15:09:18 +00:00
strchrnul.S string: Add libc_hidden_proto for strchrnul 2023-02-08 17:13:56 -03:00
strcmp.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcpy.S AArch64: Optimize strcpy 2023-01-17 15:09:18 +00:00
strlen.S AArch64: Optimize strlen 2023-01-17 15:09:18 +00:00
strncmp.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strnlen.S AArch64: Optimize strnlen 2023-01-17 15:09:18 +00:00
strrchr.S AArch64: Improve strrchr 2023-01-17 15:09:18 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tlsdesc.sym aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
tst-audit26.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit26mod.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit26mod.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit27.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit27mod.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit27mod.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-audit.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-auditmod26.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-auditmod27.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-ifunc-arg-1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-ifunc-arg-2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vpcs-mod.S Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vpcs.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Versions Relocate AArch64 from ports to libc. 2014-02-11 11:36:00 +00:00
wordcopy.c aarch64: Don't build wordcopy 2022-10-28 11:14:54 +01:00