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.
Prototypes for these intrinsics and some related macros and constants
are in the header file mmintrin.h
.
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.