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