From: Craig St Jean Hello, I just want to thank you for putting up your PPC Assembler section! I had learned x86 and MIPS assembler and always wanted to get into PPC however after getting stuck with IBMs code samples I just moved on to other things. Trying to learn things, I've taken a common version of strlen and optimized it to be 8 lines vs 22 lines after converting to assembler! (original): (mine): stmw r30,0xfff8(r1) stwu r1,0xffc0(r1) or r30,r1,r1 or r2, r3, r3 stw r3,0x58(r30) lwz r0,0x58(r30) stw r0,0x18(r30) b 0x2ac4 b compare 0x2ab8: loop: lwz r2,0x18(r30) addi r0,r2,0x1 addi r2, r2, 0x1 stw r0,0x18(r30) 0x2ac4: compare: lwz r2,0x18(r30) lbz r0,0x0(r2) lbz r0, 0x0(r2) extsb r0,r0 cmpwi cr7,r0,0x0 cmpwi cr7, r0, 0x0 bne cr7,0x2ab8 bne cr7, loop lwz r2,0x18(r30) lwz r0,0x58(r30) subf r0,r0,r2 subf r3, r3, r2 or r3,r0,r0 lwz r1,0x0(r1) lmw r30,0xfff8(r1) blr blr (C original): int strlen(const char *x) { const char *s; for (s = x; *s; s++); return s - x; }