MMX(TM) technology intrinsics provide access to the MMX technology instruction set on Itanium-based systems. To provide source compatibility with the IA-32 architecture, these intrinsics are equivalent both in name and functionality to the set of IA-32-based MMX intrinsics.
Some intrinsics have more than one name. When one intrinsic has two names, both names generate the same instructions, but the first is preferred as it conforms to a newer naming standard.
The prototypes for MMX technology intrinsics are in the mmintrin.h header file.
The C data type __m64 is used when using MMX technology intrinsics. It can hold eight 8-bit values, four 16-bit values, two 32-bit values, or one 64-bit value.
The __m64 data type is not a basic ANSI C data type. Therefore, observe the following usage restrictions:
Use the new data type only on the left-hand side of an assignment, as a return value, or as a parameter. You cannot use it with other arithmetic expressions (" + ", " - ", and so on).
Use the new data type as objects in aggregates, such as unions, to access the byte elements and structures; the address of an __m64 object may be taken.
Use new data types only with the respective intrinsics described in this documentation.
For complete details of the hardware instructions, see the Intel Architecture MMX Technology Programmer's Reference Manual. For descriptions of data types, see the Intel Architecture Software Developer's Manual, Volume 2.