glibc/sysdeps/powerpc/powerpc64
Alan Modra fe6e95d717 PowerPC LE memcmp
http://sourceware.org/ml/libc-alpha/2013-08/msg00102.html

This is a rather large patch due to formatting and renaming.  The
formatting changes were to make it possible to compare power7 and
power4 versions of memcmp.  Using different register defines came
about while I was wrestling with the code, trying to find spare
registers at one stage.  I found it much simpler if we refer to a reg
by the same name throughout a function, so it's better if short-term
multiple use regs like rTMP are referred to using their register
number.  I made the cr field usage changes when attempting to reload
rWORDn regs in the exit path to byte swap before comparing when
little-endian.  That proved a bad idea due to the pipelining involved
in the main loop;  Offsets to reload the regs were different first
time around the loop..  Anyway, I left the cr field usage changes in
place for consistency.

Aside from these more-or-less cosmetic changes, I fixed a number of
places where an early exit path restores regs unnecessarily, removed
some dead code, and optimised one or two exits.

	* sysdeps/powerpc/powerpc64/power7/memcmp.S: Add little-endian support.
	Formatting.  Consistently use rXXX register defines or rN defines.
	Use early exit labels that avoid restoring unused non-volatile regs.
	Make cr field use more consistent with rWORDn compares.  Rename
	regs used as shift registers for unaligned loop, using rN defines
	for short lifetime/multiple use regs.
	* sysdeps/powerpc/powerpc64/power4/memcmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/power7/memcmp.S: Likewise.  Exit with
	addi 1,1,64 to pop stack frame.  Simplify return value code.
	* sysdeps/powerpc/powerpc32/power4/memcmp.S: Likewise.
2013-10-04 10:40:56 +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 PowerPC LE memcmp 2013-10-04 10:40:56 +09:30
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 memcmp 2013-10-04 10:40:56 +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 PowerPC LE strcpy 2013-10-04 10:40:11 +09:30
strchr.S PowerPC LE strchr 2013-10-04 10:40:22 +09:30
strcmp.S PowerPC LE strcmp and strncmp 2013-10-04 10:39:52 +09:30
strcpy.S PowerPC LE strcpy 2013-10-04 10:40:11 +09:30
strlen.S PowerPC LE strlen 2013-10-04 10:39:32 +09:30
strncmp.S PowerPC LE strcmp and strncmp 2013-10-04 10:39:52 +09:30
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