From: Brian Osman Newsgroups: comp.os.msdos.djgpp Subject: Re: MMX Date: Tue, 04 Mar 1997 08:57:00 -0500 Organization: Rensselaer Polytechnic Institute, Troy NY, USA Lines: 47 Message-ID: <331C2A2C.52DD@rpi.edu> References: Reply-To: osmanb AT rpi DOT edu NNTP-Posting-Host: darkwing.stu.rpi.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Robert Humphris wrote: > > I know that this is not related to the topic, but it may be something > that should be > thought about... > > MMX whatever is stands for ( I have heard several versions ) is the > addition to the Pentium > Rob Humphris > Firstly, it doesn't stand for anything. I believe it began as MultiMedia eXtensions, but I've talked with people from Intel and it officially is just MMX. (SSA - Society to Stop Acronyms?) :) Anyways, even at Intel now they don't have compilers really. Given the incredibly complex nature of MMX code, anything developed now will have to be done by hand, in assembly. I don't know that the MMX instructions can be easily implemented as simple extensions to C, given that they do some wierd stuff not normally taken into account. eg: Packed addition, but either saturating OR overflowing. The "parallel" distinction might work, but I'd still wonder if it will be possible to do that well. This is the problem with all of the newer technolgies. Look at VLIW. HP claims that it's the greatest thing ever, but only a handful of companies use it, and only for very specific processors. Why? Compilers. No one can write a decent compiler for it becuase every shred of work that the current generation of processors do gets moved to the compiler. DJGPP is a great compiler, but I don't even see the big guys incorporating any kind of MMX support worth having in the near future. Wait, new thought. In talking to the Intel guys and thinking about this some more, I just remembered/realized... MMX is not used for general purpose computing, so it is most likely that people will simply write various routines to perform specific funtions (signal processing, graphics, etc) in assembly, and then package them into MMX libraries. This is something that sufficiently interested people could do NOW for DJGPP without even needing access to the compiler. It's possible to the check the CPU ID at run time, and select from amongst several routines to do the same thing. Any volunteers to start coding stuff? (BTW: There are lots of examples on Intel's page, which would be a good starting point.) Brian