glibc/sysdeps
Adhemerval Zanella 350d8d1366 string: Improve generic strlen
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_zero
macro.

Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc-linux-gnu,
and powercp64-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
..
aarch64 AArch64: Improve SVE memcpy and memmove 2023-02-06 16:15:34 +00:00
alpha Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
arc Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
arm Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
csky Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
generic Add string vectorized find and detection functions 2023-02-06 16:19:35 -03:00
gnu Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hppa Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
htl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hurd Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
i386 Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
ia64 ia64: Regenerate ulps 2023-01-24 11:21:38 -05:00
ieee754 math: Suppress -O0 warnings for soft-fp fsqrt [BZ #19444] 2023-01-11 17:50:51 -03:00
loongarch Regenerate configure. 2023-01-31 17:51:40 -05:00
m68k Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
mach Move RETURN_TO to x86/sysdep.h and implement x86_64 version. 2023-02-05 12:36:38 +01:00
microblaze Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mips Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nios2 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nptl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
or1k Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
posix Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
powerpc Parameterize OP_T_THRES from memcopy.h 2023-02-06 16:19:35 -03:00
pthread Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
riscv Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s390 string: Improve generic strlen 2023-02-06 16:19:35 -03:00
sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sparc sparc (64bit): Regenerate ulps 2023-01-24 11:21:50 -05:00
unix Linux: optimize clone3 internal usage 2023-02-01 08:42:11 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
x86 x86: Cache computation for AMD architecture. 2023-01-18 19:28:54 +01:00
x86_64 Parameterize op_t from memcopy.h 2023-02-06 16:19:35 -03:00