Hi!
Where are described all MMX operations and short notes when using MMX is especially recommended?

Thanks, Mike
Posted on 2002-03-23 09:59:53 by Mike
Here is
Intel's Developer Guide for the MMX. They've got stuff on using the MMX saturated and unsatured arithmetic, instruction timings (pretty much all 1, but with different latencies), operations on different data sizes concurrently, the MMX/FPU registers... if you want a good overview of instructions, skip to cpt V.

Try looking around at http://cedar.intel.com under Microprocessors->IA32. there's some cool little interactive tutorial in there, too.

Hope that that helps!
Posted on 2002-03-23 10:08:37 by jademtech
It's not easy to move data between MMX and other processing (FPU/IPU). So, if your process can be made parallel and fits into 8 or 16 bits integers, then MMX is your solution.
Posted on 2002-03-23 11:12:25 by bitRAKE
We tested MMX on our 2D operations in HE and saddly it did not improve much (close to under 2%) and we didnt even used the FPU then. Today we use the FPU for 2D/3D operations and this makes using MMX (in the same time) even harder because MMX and the FPU share some resources...

MMX was helpfull in the P1/166Mhz time IMHO today it can still be very helpful but only at very special situations like full 2D only operations with no FPU involved (play some video movies or showing plain bitmaps on screen or saturated operations on bytes.... i guess)

I do not care much for instruction level optimizations (besides critical inner loops of course) algorithmic optimizations usually bring much more speed in :)
Posted on 2002-03-23 11:59:04 by BogdanOntanu