glibc/sysdeps
Siddhesh Poyarekar 7108f1f944 aarch64: 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 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.

	* sysdeps/aarch64/strncmp.S (count): New macro.
	(strncmp): Store misaligned length in SRC1 in COUNT.
	(mutual_align): Adjust.
	(misaligned8): Load dword at a time when it is safe.
2018-03-13 23:57:04 +05:30
..
aarch64 aarch64: Improve strncmp for mutually misaligned inputs 2018-03-13 23:57:04 +05:30
alpha hurd: add gscope support 2018-03-11 13:06:33 +01:00
arm hurd: add gscope support 2018-03-11 13:06:33 +01:00
generic hurd: add gscope support 2018-03-11 13:06:33 +01:00
gnu Add TCP_FASTOPEN_KEY, TCP_FASTOPEN_NO_COOKIE from Linux 4.15. 2018-02-06 00:42:22 +00:00
hppa hurd: add gscope support 2018-03-11 13:06:33 +01:00
i386 hurd: add gscope support 2018-03-11 13:06:33 +01:00
ia64 hurd: add gscope support 2018-03-11 13:06:33 +01:00
ieee754 nldbl-compat.c: Include math.h before nldbl-compat.h. 2018-03-11 14:20:13 -04:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k hurd: add gscope support 2018-03-11 13:06:33 +01:00
mach Lookup the startup server through /servers/startup 2018-03-12 00:24:31 +01:00
microblaze hurd: add gscope support 2018-03-11 13:06:33 +01:00
mips hurd: add gscope support 2018-03-11 13:06:33 +01:00
nios2 hurd: add gscope support 2018-03-11 13:06:33 +01:00
nptl Refactor Linux ARCH_FORK implementation 2018-03-07 17:39:40 -03:00
posix Add missing start-of-file descriptive comment. 2018-03-06 09:21:04 +01:00
powerpc hurd: add gscope support 2018-03-11 13:06:33 +01:00
pthread hurd: fix timer_routines.c build 2018-02-27 01:15:39 +01:00
riscv hurd: add gscope support 2018-03-11 13:06:33 +01:00
s390 hurd: add gscope support 2018-03-11 13:06:33 +01:00
sh hurd: add gscope support 2018-03-11 13:06:33 +01:00
sparc hurd: add gscope support 2018-03-11 13:06:33 +01:00
tile hurd: add gscope support 2018-03-11 13:06:33 +01:00
unix alpha/clone.S: Invoke .set noat/.set at around explicit uses of $at 2018-03-10 15:17:18 -05:00
wordsize-32 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
wordsize-64 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
x86 Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
x86_64 hurd: add gscope support 2018-03-11 13:06:33 +01:00