mmx.h

Brian Dessent brian@dessent.net
Fri Mar 7 03:43:00 GMT 2008


Maximillian Murphy wrote:

> On the web there are a number of .h files that provide wrappers for mmx assembler commands.  They are usually but not always called mmx.h.  An example is here:

Those macros are obsolete.  gcc implements access to the vector
operations in a more robust way in terms of builtin types and
functions.  See
<http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html> and
<http://gcc.gnu.org/onlinedocs/gcc/X86-Built_002din-Functions.html>. 
You don't need any header to use these.

gcc also supports the Intel C++ compiler's syntax for intrinsics, in the
form of mmintrin.h/xmmintrin.h/emmintrin.h, etc. which provide functions
of the form _mm_<intrin_op>_<suffix> and types in the form __m64,
__m128, __m128d, __m128i.  See
<http://softwarecommunity.intel.com/isn/downloads/softwareproducts/pdfs/347603.pdf>
for the spec.  Note that gcc's implementation of those headers simply
maps the Intel names and types onto the gcc builtins, so really it's the
same as using the builtins.

In either case, you shouldn't need to install anything extra to use
these, they are part of the compiler.  You certainly shouldn't need to
muck about with #defines that expand into __asm__.

Brian



More information about the Gcc-help mailing list