This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PowerPC LE strchr


Hi Alan, this patch is ok, thanks.


On 09-08-2013 02:21, Alan Modra wrote:
> 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.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]