glibc/sysdeps
Alan Modra db9b4570c5 PowerPC LE strlen
http://sourceware.org/ml/libc-alpha/2013-08/msg00097.html

This is the first of nine patches adding little-endian support to the
existing optimised string and memory functions.  I did spend some
time with a power7 simulator looking at cycle by cycle behaviour for
memchr, but most of these patches have not been run on cpu simulators
to check that we are going as fast as possible.  I'm sure PowerPC can
do better.  However, the little-endian support mostly leaves main
loops unchanged, so I'm banking on previous authors having done a
good job on big-endian..  As with most code you stare at long enough,
I found some improvements for big-endian too.

Little-endian support for strlen.  Like most of the string functions,
I leave the main word or multiple-word loops substantially unchanged,
just needing to modify the tail.

Removing the branch in the power7 functions is just a tidy.  .align
produces a branch anyway.  Modifying regs in the non-power7 functions
is to suit the new little-endian tail.

	* sysdeps/powerpc/powerpc64/power7/strlen.S (strlen): Add little-endian
	support.  Don't branch over align.
	* sysdeps/powerpc/powerpc32/power7/strlen.S: Likewise.
	* sysdeps/powerpc/powerpc64/strlen.S (strlen): Add little-endian support.
	Rearrange tmp reg use to suit.  Comment.
	* sysdeps/powerpc/powerpc32/strlen.S: Likewise.
2013-10-04 10:39:32 +09:30
..
generic BZ #15754: Fix test case for ARM. 2013-09-23 01:44:38 -04:00
gnu Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
i386 BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
ieee754 PowerPC floating point little-endian [6 of 15] 2013-10-04 10:33:21 +09:30
init_array Add sysdeps/init_array to produce empty crt[in].o and use .preinit_array for gcrt1.o 2013-03-12 12:50:13 -07:00
mach sysdeps/mach/hurd/i386/tls.h: Remove TLS_INIT_TP_EXPENSIVE. 2013-09-24 09:25:53 +01:00
posix Properly cache the result from looking up the nss database config 2013-09-30 10:29:13 +02:00
powerpc PowerPC LE strlen 2013-10-04 10:39:32 +09:30
pthread Fix typos. 2013-08-21 19:48:48 +02:00
s390 BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
sh Add SH implementation of stackguard-macros.h. 2013-09-27 10:59:02 +09:00
sparc BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
unix PowerPC SIGSTKSZ 2013-10-04 10:39:11 +09:30
wordsize-32 Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
wordsize-64 Move dummy glob64.c alongside glob.c that defines glob64. 2013-05-06 16:11:11 -07:00
x86 Fix typos. 2013-08-21 19:48:48 +02:00
x86_64 PowerPC floating point little-endian [1 of 15] 2013-10-04 10:31:41 +09:30