glibc/sysdeps
Wainer dos Santos Moschetta 18b6e2c86c powerpc64: Add POWER8 strnlen
Added strnlen POWER8 otimized for long strings. It delivers
same performance as POWER7 implementation for short strings.

This takes advantage of reasonably performing unaligned loads
and bit permutes to check the first 1-16 bytes until
quadword aligned, then checks in 64 bytes strides until unsafe,
then 16 bytes, truncating the count if need be.

Likewise, the POWER7 code is recycled for less than 32 bytes strings.

Tested on ppc64 and ppc64le.

	* sysdeps/powerpc/powerpc64/multiarch/Makefile
	(sysdep_routines): Add strnlen-power8.
	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
	(strnlen): Add __strnlen_power8 to list of strnlen functions.
	* sysdeps/powerpc/powerpc64/multiarch/strnlen-power8.S:
	New file.
	* sysdeps/powerpc/powerpc64/multiarch/strnlen.c
	(__strnlen): Add __strnlen_power8 to ifunc list.
	* sysdeps/powerpc/powerpc64/power8/strnlen.S: New file.
2017-04-05 10:26:58 -03:00
..
aarch64 [AArch64] Update libm-test-ulps 2017-03-27 12:02:47 +01:00
alpha Remove _dl_platform_string 2017-03-14 17:18:52 +01:00
arm
generic Change return type in the declaration of __ieee754_rem_pio2l 2017-03-30 15:22:27 -03:00
gnu
hppa hppa: Fix setting of __libc_stack_end 2017-03-15 13:37:16 -07:00
i386 Remove CALL_THREAD_FCT macro 2017-04-04 18:03:35 -03:00
ia64
ieee754 Improve float range reduction accuracy near pi/2 (bug 21094). 2017-03-15 22:00:54 +00:00
init_array
m68k
mach hurd: Make send/recv more posixish 2017-03-13 20:41:12 +01:00
microblaze
mips Remove _dl_platform_string 2017-03-14 17:18:52 +01:00
nacl
nios2
nptl
posix Remove the str(n)dup inlines from string/bits/string2.h. Although inlining 2017-03-13 18:45:42 +00:00
powerpc powerpc64: Add POWER8 strnlen 2017-04-05 10:26:58 -03:00
pthread
s390 S390: Clobber also r14 in TLS_LD, TLS_GD macros on 31bit. 2017-04-04 13:16:28 +02:00
sh sh: Fix building with gcc5/6 2017-03-12 17:29:32 -03:00
sparc Fix sparc64 bits/setjmp.h namespace (bug 21261). 2017-03-18 00:17:25 +00:00
tile
unix Remove __ASSUME_REQUEUE_PI 2017-04-04 18:02:02 -03:00
wordsize-32
wordsize-64
x86 Use CPU_FEATURES_CPU_P to check if AVX is available 2017-03-17 11:38:13 -07:00
x86_64 Remove CALL_THREAD_FCT macro 2017-04-04 18:03:35 -03:00