Use lwzu, stwu to tighten more loops.
authorGeorge Koehler <xkernigh@netscape.net>
Wed, 18 Oct 2017 16:12:42 +0000 (12:12 -0400)
committerGeorge Koehler <xkernigh@netscape.net>
Wed, 18 Oct 2017 16:12:42 +0000 (12:12 -0400)
commit459a9b5949a3ab4396af2628aea0c229383ba6f2
treedc938379c35535076eb311a40d311d14cf014e0a
parentac2b0710c88240b27999b19e2bd56d86c4651e46
Use lwzu, stwu to tighten more loops.

Because lwzu or stwu moves the pointer, I can remove an addi
instruction from the loop, so the loop is slightly faster.

I wrote a benchmark in Modula-2 that exercises some of these loops.  I
measured its time on my old PowerPC Mac.  Its user time decreases from
8.401s to 8.217s with the tighter loops.
mach/powerpc/libem/and.s
mach/powerpc/libem/cms.s
mach/powerpc/libem/com.s
mach/powerpc/libem/ior.s
mach/powerpc/libem/xor.s
mach/powerpc/libem/zer.s
mach/powerpc/ncg/table