glibc/string
Adhemerval Zanella 2a8867a17f string: Improve generic memchr
New algorithm read the first aligned address and mask off the
unwanted bytes (this strategy is similar to arch-specific
implementations used on powerpc, sparc, and sh).

The loop now read word-aligned address and check using the has_eq
macro.

Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc-linux-gnu,
and powerpc64-linux-gnu by removing the arch-specific assembly
implementation and disabling multi-arch (it covers both LE and BE
for 64 and 32 bits).

Co-authored-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
2023-02-06 16:19:35 -03:00
..
bits Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_strerror.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-addsep.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-append.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-count.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-create.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-ctsep.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-delete.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-extract.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-insert.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-next.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-replace.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz-stringify.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
argz.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
basename.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bcopy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bug-envz1.c
bug-strcoll1.c
bug-strcoll2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bug-strncat1.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bug-strpbrk1.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bug-strspn1.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bug-strtok1.c
byteswap.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bzero.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Depend
endian.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
envz.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
envz.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
explicit_bzero.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ffs.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ffsll.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
inl-tester.c
Makefile Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memccpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memchr.c string: Improve generic memchr 2023-02-06 16:19:35 -03:00
memcmp.c Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
memcmpeq.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memfrob.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memmem.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memmove.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memory.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mempcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memrchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memset.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
noinl-tester.c
rawmemchr.c Replace rawmemchr (s, '\0') with strchr 2023-02-06 16:16:19 +00:00
sigabbrev_np.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sigdescr_np.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stpcpy.c string: Improve generic stpcpy 2023-02-06 16:19:35 -03:00
stpncpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
str-two-way.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stratcliff.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcasecmp_l.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcasecmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcasestr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcat.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strchr.c string: Improve generic strchr 2023-02-06 16:19:35 -03:00
strchrnul.c string: Improve generic strchrnul 2023-02-06 16:19:35 -03:00
strcmp.c string: Improve generic strcmp 2023-02-06 16:19:35 -03:00
strcoll_l.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcoll.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcpy.c string: Improve generic strcpy 2023-02-06 16:19:35 -03:00
strcspn.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strdup.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strerror_l.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strerror.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strerrordesc_np.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strerrorname_np.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strfry.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
string-inlines.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
string.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strings.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strlen.c string: Improve generic strlen 2023-02-06 16:19:35 -03:00
strncase_l.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strncase.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strncat.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strncmp.c string: Improve generic strncmp 2023-02-06 16:19:35 -03:00
strncpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strndup.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strnlen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strpbrk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strrchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strsep.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strsignal.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strspn.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strstr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strtok_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strtok.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strverscmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strxfrm_l.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strxfrm.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
swab.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-bcopy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-bzero.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-endian-file-scope.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-endian-sign-conversion.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-endian-types.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-explicit_bzero.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-ffs.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memccpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memcmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memcmpeq.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memcpy-large.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memcpy-support.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memmem.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memmove.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-mempcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memrchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-memset.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-rawmemchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-sig_np.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-stpcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-stpncpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcasecmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcasestr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcat.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strchrnul.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcspn.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strerror-errno.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-string.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strlen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strncasecmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strncat.c x86: Fix strncat-avx2.S reading past length [BZ #30065] 2023-01-31 19:13:46 -06:00
test-strncmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strncpy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strnlen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strpbrk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strrchr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strspn.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strstr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
testcopy.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tester.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-bswap.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-cmp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-endian.c
tst-inlcall.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-memmove-overflow.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-strcoll-overflow.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-strerror.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-strfry.c
tst-strlen.c Use '%z' instead of '%Z' on printf functions 2022-09-22 08:48:04 -03:00
tst-strsignal.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-strtok_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-strtok.c
tst-strxfrm2.c
tst-strxfrm.c
tst-svc2.c
tst-svc.c
tst-svc.expect
tst-svc.input
tst-xbzero-opt.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Versions String: Add support for __memcmpeq() ABI on all targets 2021-10-26 16:51:29 -05:00
wordcopy.c string: Suppress -Wmaybe-unitialized for wordcopy [BZ #19444] 2023-01-12 09:06:00 -03:00
xpg-strerror.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00