glibc/sysdeps/powerpc
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
..
bits PowerPC floating point little-endian [7 of 15] 2013-10-04 10:34:14 +09:30
fpu PowerPC floating point little-endian [11 of 15] 2013-10-04 10:35:21 +09:30
power4/fpu Remove usage of ONE macro 2013-03-29 16:53:05 +05:30
power5+/fpu PowerPC: modf optimization fix 2013-04-26 13:00:56 -05:00
powerpc32 PowerPC LE strchr 2013-10-04 10:40:22 +09:30
powerpc64 PowerPC LE strchr 2013-10-04 10:40:22 +09:30
sys/platform PowerPC: Program Priority Register support 2013-05-24 13:29:30 -05:00
abort-instr.h Update. 2002-09-15 18:31:23 +00:00
configure Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
configure.in Update. 2004-05-28 21:19:35 +00:00
dl-procinfo.c PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8. 2013-06-28 16:52:49 -05:00
dl-procinfo.h PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8. 2013-06-28 16:52:49 -05:00
dl-tls.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ffs.c Make __ffs hidden 2013-09-20 21:25:31 +02:00
fpu_control.h PowerPC floating point little-endian [11 of 15] 2013-10-04 10:35:21 +09:30
gccframe.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ifunc-sel.h Move sysdeps/powerpc/elf files 2012-03-28 09:25:31 +02:00
Implies PowerPC: unify math_ldbl.h implementations 2013-03-08 11:07:15 -03:00
jmpbuf-offsets.h PowerPC LE setjmp/longjmp 2013-10-04 10:37:59 +09:30
jmpbuf-unwind.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ldsodefs.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
locale-defines.sym Optimized strcasecmp for Power7 2011-12-17 20:32:59 -05:00
longjmp.c PowerPC ugly symbol versioning 2013-10-04 10:38:28 +09:30
machine-gmon.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Makefile PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8. 2013-06-28 16:52:49 -05:00
math-tests.h Refer to two GCC PRs. 2013-04-03 14:13:44 +02:00
memmove.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memusage.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
mp_clz_tab.c Update. 2002-03-14 20:48:50 +00:00
novmx-longjmp.c PowerPC ugly symbol versioning 2013-10-04 10:38:28 +09:30
novmx-sigjmp.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
novmxsetjmp.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
rtld-global-offsets.sym PowerPC: Define AT_HWCAP2 bits and AT_HWCAP2 handling for POWER8. 2013-06-28 16:52:49 -05:00
sched_cpucount.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
sigjmp.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
stackinfo.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcat.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
sysdep.h PowerPC floating point little-endian [12 of 15] 2013-10-04 10:35:43 +09:30
test-arith.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-arithf.c Update. 1997-08-10 18:37:15 +00:00
test-gettimebase.c Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
tls-macros.h Split tls-macros.h in sysdeps directories. 2012-07-19 17:04:04 -03:00
tst-stack-align.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Versions Update. 2004-02-14 05:16:57 +00:00