Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Jan 1998 17:46:03 -0800 (PST)
From:      asami@cs.berkeley.edu (Satoshi Asami)
To:        jddst19+@pitt.edu
Cc:        archie@whistle.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: what does MMX mean?
Message-ID:  <199801160146.RAA15220@bubble.didi.com>
In-Reply-To: <Pine.GSO.3.96L.980115123204.14290A-100000@unixs-eval.cis.pitt.edu> (message from John D Duncan on Thu, 15 Jan 1998 12:34:54 -0500 (EST))

next in thread | previous in thread | raw e-mail | index | archive | help
 * The MMX instructions, as far as I can gather, are a new set of
 * instructions to provide parallel-style computation on packed registers
 * of 64-bit words. These instructions are intended to speed up repetative
 * computation such as a binary xor of a constant against four 16-bit
 * words by performing the computation simultaneously on all four rather
 * than looping through the computations.

Yes.  They also have conditionals that leave 0's or 1's in respective
register positions and instructions that use them to "mask" part of
the registers from an operation.  That way, you can do things like
"replace all solid blue pixels in the image with pixels from another
image" without any conditional branches.

 * The normal integer and floating-point datapaths are, i believe,
 * unaffected.

The MMX registers are aliases of regular FP registers.  (They did not
want to add any new registers or flags -- so the OS doesn't need to be
aware of new MMX chips and the applications can still use them.)  So
it won't help if you want to do a lot of FP operations intermixed with
MMX operations.

Satoshi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801160146.RAA15220>