Followup to: <3EA0469D.7090602@pobox.com>
By author: Jeff Garzik <jgarzik@pobox.com>
In newsgroup: linux.dev.kernel
>
> That's kinda cute. Why not submit a patch to the strcpy implementation
> in include/asm-i386/string.h? :) Ours is shorter, but does have a jump:
> "1:\tlodsb\n\t"
> "stosb\n\t"
> "testb %%al,%%al\n\t"
> "jne 1b"
>
> Which is better? I don't know; I'm still learning the performance
> eccentricities of x86 insns on various processors.
>
It varies from porocessor to processor, and also depends on usage.
>
> Related x86 question: if the memory buffer is not dword-aligned, is
> 'rep movsl' the best idea? On RISC it's usually smarter to unroll the
> head of the loop to avoid unaligned accesses; but from reading x86 asm
> code in the kernel, nobody seems to care about that. Is the
> unaligned-access penalty so small that the increased code size of the
> head-unroll is never worth it?
>
A lot of the newer x86 processors will perform this unrolling in
microcode.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:25 EST