[PATCH] PPC64 Additional memcpy improvements
Steve Munroe
sjmunroe@us.ibm.com
Sat Jul 17 19:03:00 GMT 2004
I have rewritten memcpy.S several times and have some good results for
specific cases. The <32 byte case is totally new, rewritten without
loops with further special case for <= 8 bytes. This I think I done
with. Some additional improvement in the aligned long moves but the
unaligned long move still needs work. But this version is still a
significant improvement.
Processor |short-aligned|short-unaligned|long-aligned|long-unaligned
------------+-------------+---------------+------------+--------------
630-400MHz | +14.9 - +67%| +12.7 - +277% | +0.0 - +26%| -0.3 - +7%
------------+-------------+---------------+------------+--------------
sStar-650MHz| +11.4 - +36%| +2.3 - +41.5% | +3.4 - +14%| +0.3 - +7.6%
------------+-------------+---------------+------------+--------------
POWER4-1GHz |+16.6 - +192%| +1.4 - +134% | +4.0 - +39%| -1.3 - +53.5%
------------+-------------+---------------+------------+--------------
970-2GHz |+13.1 - +173%| +1.5 - +131% | +9.9 - +38%| -0.5 - +56.2%
------------+-------------+---------------+------------+--------------
Short copies are in the range 8-31 bytes, long copies are >=32 up to a
1000 bytes. The measurements taken where 8, 16, 31, 65, 256, and 1000
bytes. The largest gains where seen in the 31 bytes copies. The least
gains (or slight lost) ocurred for the unaligned 1000 byte copy. This is
likely due to extra testing required for the added special case handling
for shorter copies.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ppc64-memcpy-20040717.txt
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20040717/fdbe45ab/attachment.txt>
More information about the Libc-alpha
mailing list