[Powerpc] Tune/optimize powerpc{32,64}/power7/memchr.S.
commit14a50c9d238a8d79d48193482ed9a2be52d1dc3d
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Tue, 21 Aug 2012 19:20:55 +0000 (21 14:20 -0500)
committerRyan S. Arnold <rsa@linux.vnet.ibm.com>
Tue, 21 Aug 2012 19:20:55 +0000 (21 14:20 -0500)
tree046c03b3bf03143c65e3f4eab969391df13e4dd1
parent696da85994af013ae1e3e8ad3bb016793f9b2c5d
[Powerpc] Tune/optimize powerpc{32,64}/power7/memchr.S.

Assorted tweaking, twisting and tuning to squeeze a few additional cycles
out of the memchr code.   Changes include bypassing the shift pairs
(sld,srd) when they are not required, and unrolling the small_loop that
handles short and trailing strings.

Per scrollpipe data measuring aligned strings for 64-bit, these changes
save between five and eight cycles (9-13% overall) for short strings (<32),
Longer aligned strings see slight improvement of 1-3% due to bypassing the
shifts and the instruction rearranging.
ChangeLog
sysdeps/powerpc/powerpc32/power7/memchr.S
sysdeps/powerpc/powerpc64/power7/memchr.S