glibc/sysdeps/powerpc/powerpc64/power7
Alan Modra 664318c3eb PowerPC LE strchr
http://sourceware.org/ml/libc-alpha/2013-08/msg00101.html

Adds little-endian support to optimised strchr assembly.  I've also
tweaked the big-endian code a little.  In power7/strchr.S there's a
check in the tail of the function that we didn't match 0 before
finding a c match, done by comparing leading zero counts.  It's just
as valid, and quicker, to compare the raw output from cmpb.

Another little tweak is to use rldimi/insrdi in place of rlwimi for
the power7 strchr functions.  Since rlwimi is cracked, it is a few
cycles slower.  rldimi can be used on the 32-bit power7 functions
too.

	* sysdeps/powerpc/powerpc64/power7/strchr.S (strchr): Add little-endian
	support.  Correct typos, formatting.  Optimize tail.  Use insrdi
	rather than rlwimi.
	* sysdeps/powerpc/powerpc32/power7/strchr.S: Likewise.
	* sysdeps/powerpc/powerpc64/power7/strchrnul.S (__strchrnul): Add
	little-endian support.  Correct typos.
	* sysdeps/powerpc/powerpc32/power7/strchrnul.S: Likewise.  Use insrdi
	rather than rlwimi.
	* sysdeps/powerpc/powerpc64/strchr.S (rTMP4, rTMP5): Define.  Use
	in loop and entry code to keep "and." results.
	(strchr): Add little-endian support.  Comment.  Move cntlzd
	earlier in tail.
	* sysdeps/powerpc/powerpc32/strchr.S: Likewise.
2013-10-04 10:40:22 +09:30
..
fpu PowerPC floating point little-endian [12 of 15] 2013-10-04 10:35:43 +09:30
Implies powerpc: Re-work the Implies structure 2010-06-30 09:57:38 -07:00
Makefile Optimized strcasecmp for Power7 2011-12-17 20:32:59 -05:00
memchr.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
memcmp.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
memcpy.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
mempcpy.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
memrchr.S PowerPC: fix POWER7 memrchr for some large inputs 2013-09-05 09:32:56 -05:00
memset.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
rawmemchr.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strcasecmp_l.S Optimized strcasecmp for Power7 2011-12-17 20:32:59 -05:00
strcasecmp.S Remove powerpc64 bounded-pointers code. 2013-03-06 00:10:21 +00:00
strchr.S PowerPC LE strchr 2013-10-04 10:40:22 +09:30
strchrnul.S PowerPC LE strchr 2013-10-04 10:40:22 +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
strnlen.S PowerPC LE strnlen 2013-10-04 10:39:42 +09:30