TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jonathan de Boyne Pollard
from: Mike Bilow
date: 1997-03-22 20:30:50
subject: `Which C++ Compiler ...

Jonathan de Boyne Pollard wrote in a message to Mike Bilow:

MB>
  >    New! Support for Intel MMX technology
  >    With support for the new Intel MMX technology, Watcom C/C++ 11.0
  >    allows you to take advantage of the latest architecture advances and
  >    enhance the performance of your multimedia and communications
  >    applications. You can develop lightning-fast applications that not
  >    only exploit the capabilities of the MMX instruction set, but also
  >    leverage the industry-leading optimization technology of Watcom C/C++.
  >    Plus, you get complete debugging support including the ability to
  >    single-step through your MMX instructions and view MMX registers in a
  >    separate window. And the functional interface from C/C++ makes it easy
  >    to generate in-line MMX instructions.
MB>

 JdBP> What a marvellous piece of puffery!  They sell the compiler
 JdBP> on the basis of all of this "new MMX technology" and make a
 JdBP> fortune since they haven't actually had to modify the
 JdBP> compiler much at all.

Well, yes.

 JdBP> After all, it's the _CPU_ that single-steps, not the
 JdBP> debugger.  I'd be amazed if any debugger could _not_
 JdBP> single-step over MMX instructions on an MMX CPU.  They
 JdBP> wouldn't display the correct mnemonics for the instructions,
 JdBP> of course, but I doubt that adding a new mnemonic to a table
 JdBP> somewhere in the debugger is really that hard.

 JdBP> Similarly for the viewing of the MMX registers.  The MMX
 JdBP> registers are the same as the FP registers.  The code to
 JdBP> read/write them from/to the debuggee thread and manipulate
 JdBP> them was already there.  They probably just had to change
 JdBP> the window title and tweak the display format to 64-bit
 JdBP> instead of 80-bit.

Single-stepping the MMX is as hard as single-stepping the FP, which is not
easy.  Intel did, in fact, have to modify the CPU to support both
operations, although it is more important from debugging with MMX than FP. 
(How many programmers do you know who are even capable of debugging FP?) 
Watcom is stating that their debugger supports the new hardware features,
which is useful to know.

 JdBP> The "in-line interface" was probably the hardest thing of
 JdBP> the whole lot, and they probably based that around `pragma
 JdBP> aux'.

You're right.  The logical way to implement MMX on a compiler is the same
as FP, where the compiler has a prearranged repertoire of encapsulated
routines.

 JdBP> I bet that compiler marketing people adore Intel for
 JdBP> inventing this MMX lark.  (-:

Let's see if it actually speeds up any real code.
 
-- Mike


--- 
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 50/99 54/99 270/101 620/243 625/155 711/401 413 430 934 712/311 407
SEEN-BY: 712/505 506 517 623 624 704 713/317 800/1
@PATH: 323/107 396/1 270/101 712/624 711/934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.