glibc/sysdeps/powerpc/powerpc64
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
..
970 powerpc: Re-work the Implies structure 2010-06-30 09:57:38 -07:00
a2 Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
bits Fix spelling errors in sysdeps/powerpc files. 2013-01-07 11:20:53 -06:00
cell Fix typos. 2013-08-21 19:48:48 +02:00
fpu PowerPC floating point little-endian [14 of 15] 2013-10-04 10:36:24 +09:30
power4 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
power5 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
power5+ Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
power6 Fix then/than typos. 2013-08-30 18:10:31 +02:00
power6x Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
power7 PowerPC LE strlen 2013-10-04 10:39:32 +09:30
power8 PowerPC: Enable POWER8 platform sans hwcap bits. 2013-06-24 15:33:32 -05:00
__longjmp-common.S PowerPC LE setjmp/longjmp 2013-10-04 10:37:59 +09:30
__longjmp.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
backtrace.c PowerPC: fix backtrace to handle signal trampolines 2013-08-20 15:05:49 -05:00
bsd-_setjmp.S PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
bsd-setjmp.S PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
bzero.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
configure Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
configure.in Remove TLS configure checks. 2012-07-17 23:57:43 +02:00
crti.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
crtn.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-dtprocnum.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-irel.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-machine.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-machine.h Avoid crashing in LD_DEBUG when program name is unavailable 2013-05-29 21:34:12 +05:30
dl-trampoline.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
entry.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ffsll.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
hp-timing.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
hp-timing.h Fix spelling errors in sysdeps/powerpc files. 2013-01-07 11:20:53 -06:00
Implies Revert "Use ieee754/dbl-64/wordsize-64 on powerpc64" 2013-01-10 10:44:05 +01:00
Makefile Move sysdeps/powerpc/powerpc64/elf files 2012-03-28 09:22:05 +02:00
memcpy.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
memset.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
ppc-mcount.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
register-dump.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
rtld-memset.c powerpc: Use generic memset for RTLD for ppc32/64 2010-09-29 12:21:14 -04:00
setjmp-common.S PowerPC LE setjmp/longjmp 2013-10-04 10:37:59 +09:30
setjmp.S PowerPC ugly symbol versioning 2013-10-04 10:38:28 +09:30
stackguard-macros.h PowerPC: Fix POINTER_CHK_GUARD thread register for PPC64 2013-09-25 13:43:04 -05:00
start.S PowerPC: .eh_frame info in crt1.o isn't useful and triggers gold bug 14675. 2013-03-28 12:16:28 -05:00
stpcpy.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strchr.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strcmp.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strcpy.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strlen.S PowerPC LE strlen 2013-10-04 10:39:32 +09:30
strncmp.S Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
sysdep.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tls-macros.h Split tls-macros.h in sysdeps directories. 2012-07-19 17:04:04 -03:00
tst-audit.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00