newlib-cygwin/newlib/libc/machine/aarch64
Siddhesh Poyarekar f44eee8f1b Improve strncmp for mutually misaligned inputs
The mutually misaligned inputs on aarch64 are compared with a simple
byte copy, which is not very efficient.  Enhance the comparison
similar to strcmp by loading a double-word at a time.  The peak
performance improvement (i.e. 4k maxlen comparisons) due to this on
the strncmp microbenchmark in glibc is as follows:

falkor: 3.5x (up to 72% time reduction)
cortex-a73: 3.5x (up to 71% time reduction)
cortex-a53: 3.5x (up to 71% time reduction)

All mutually misaligned inputs from 16 bytes maxlen onwards show
upwards of 15% improvement and there is no measurable effect on the
performance of aligned/mutually aligned inputs.
2018-07-13 13:27:54 +02:00
..
machine Use __machine_*_t_defined for internal types 2016-04-15 14:51:39 +02:00
Makefile.am Add rawmemchr 2016-05-20 10:47:02 +02:00
Makefile.in Bump release to 2.5.0 for yearly snapshot. 2016-12-22 21:33:54 -05:00
aclocal.m4 2012-12-20 Jeff Johnston <jjohnstn@redhat.com> 2012-12-20 21:10:27 +00:00
configure Add nvptx port. 2018-04-13 15:42:37 -04:00
configure.in 2012-09-26 Ian Bolton <ian.bolton@arm.com> 2012-09-26 20:06:50 +00:00
memchr-stub.c [aarch64] Add memchr. 2014-07-11 09:10:50 +00:00
memchr.S * libc/machine/aarch64/memchr.S: Add check for zero-sized buffer. 2014-08-19 10:44:44 +00:00
memcmp-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 13:02:19 +00:00
memcmp.S Optimized memcmp 2017-06-29 20:36:35 +02:00
memcpy-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:44:50 +00:00
memcpy.S AArch64: Tune memcpy 2015-11-12 13:38:39 +01:00
memmove-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:54:39 +00:00
memmove.S [AArch64] Optimized memmove. 2015-07-13 13:03:02 +01:00
memset-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:44:50 +00:00
memset.S [AArch64] Rewrite optimized memset. 2015-07-30 12:51:34 +01:00
rawmemchr-stub.c Add rawmemchr 2016-05-20 10:47:02 +02:00
rawmemchr.S Add rawmemchr 2016-05-20 10:47:02 +02:00
setjmp.S 2012-09-26 Ian Bolton <ian.bolton@arm.com> 2012-09-26 20:06:50 +00:00
stpcpy-stub.c * libc/machine/aarch64/strcpy.S (strcpy): Further performance 2015-01-06 09:57:55 +00:00
stpcpy.S * libc/machine/aarch64/strcpy.S (strcpy): Further performance 2015-01-06 09:57:55 +00:00
strchr-stub.c * libc/machine/aarch64/strchr.S: New file 2014-06-10 14:04:31 +00:00
strchr.S * libc/machine/aarch64/strchr.S: New file 2014-06-10 14:04:31 +00:00
strchrnul-stub.c * libc/machine/aarch64/strchrnul.S: New file. 2014-06-11 10:42:54 +00:00
strchrnul.S * libc/machine/aarch64/strchrnul.S (vrepmask): Use a call-clobbered 2014-12-10 09:35:10 +00:00
strcmp-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:44:50 +00:00
strcmp.S 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:44:50 +00:00
strcpy-stub.c * libc/machine/aarch64/strcpy.S: New file. 2014-11-10 14:57:37 +00:00
strcpy.S * libc/machine/aarch64/strcpy.S (strcpy): Further performance 2015-01-06 09:57:55 +00:00
strlen-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:57:11 +00:00
strlen.S * libc/machine/aarch64/strlen.S (strlen): Improve performance. 2015-01-20 10:11:56 +00:00
strncmp-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 12:51:13 +00:00
strncmp.S Improve strncmp for mutually misaligned inputs 2018-07-13 13:27:54 +02:00
strnlen-stub.c 2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-10 13:00:40 +00:00
strnlen.S 2013-01-17 Marcus Shawcroft <marcus.shawcroft@linaro.org> 2013-01-17 14:52:37 +00:00
strrchr-stub.c * libc/machine/aarch64/strrchr.S: New file. 2014-12-08 15:21:42 +00:00
strrchr.S * libc/machine/aarch64/strrchr.S: New file. 2014-12-08 15:21:42 +00:00