Re: MMX for kernel

Oliver Xymoron (oxymoron@waste.org)
Wed, 5 Feb 1997 20:33:09 -0600 (CST)


On Wed, 5 Feb 1997, Marc Lehmann wrote:

> I don't think mmx does really speed up anything real :) well,
> gfx maybe, but its much better getting a real cpu (powerpc..)
> than getting mmx.
>
> But stop.. 16 bit checksums.. hmm.. well, that may be an option..
> anyboidy interested in trying that?

There are a few things that MMX does well. Most obviously, it does
parallel adds, shifts, and multiplies. But I believe that since it's using
the FPU data paths, it can also do 64-bit wide memory cycles (ala
pentium-memcpy patch). Looking at the spec, it should be possible to read
eight bytes, unpack them into eight shorts, and accumulate them in four
accumulators quite quickly, possibly faster than the standard memcpy. I
don't have the hardware to try it with yet though.

> If you want to profit from MMX, you currently have to write assembler.

I doubt there will ever be a C compiler that puts MMX to good use. Most
compilers still have a ways to go before they handle P5 or P6 pipeline
optimizations well. There was a program called Netwide Assembler (I
believe) that was mentioned here and on c.o.l.a. in the past couple weeks
that purported to do MMX.

--
 "Love the dolphins," she advised him. "Write by W.A.S.T.E.."