Subject: Re: Fast memcpy(3) making use of MMX instructions
To: Andreas Persson <email@example.com>
From: Bang Jun-Young <firstname.lastname@example.org>
Date: 08/20/2001 21:58:03
On Sat, Aug 18, 2001 at 04:15:24PM +0200, Andreas Persson wrote:
> On Sat, Aug 18, 2001 at 10:29:04PM +0900, Bang Jun-Young <email@example.com> wrote:
> >Which version of gas did you try with? I have installed cvs version
> >of binutils as of a few days ago. gas doesn't recognize prefetch
> I am using the toolchain now:
> GNU assembler version 2.11.2 (i386--netbsdelf) using BFD version 2.11.2
> And you missed a t there, its prefetcht.
Thanks for pointing out that. I wasn't careful.
> >while it does just fine with prefetch and prefetchnta. I have
> >experienced the same error with binutils-2.11.2. Strangely, even
> >Linux is using prefetch for all kinds of P6 family and compatibles.
> >How would it work if prefetch instruction was only available for
> The only place I see it used in on my very old linux tree is in mmx.c which
> specifically says MMX 3DNow! library helper functions. Anyway, all I know is
> that the prefetch opcode that gas is producing is not documented anywhere
> in the intel developer manual.
I was careless again. It was written for AMD processors.
> >I should read Intel and AMD manuals again. BTW, is there anybody
> >who will send me results obtained from MMX-capable Intel processors?
> >I sold my Pentium III some months ago (to buy an Athlon ;), so I have
> >only Pentium and 6x86 now.
> Sure, here's mine. The empty ones are the ones dumping core.
From the results:
- Utilizing MMX for memcpy gives _no_ gain on Intel processor. Only
AMD processors can benefit from it. I guess Linux people already
- Memory transfer performance of Pentium III (machine) is even lower
than that of Athlon (machine).
Feel free to add to the above. :)
Bang Jun-Young <firstname.lastname@example.org>