MMX Technology Packed Arithmetic Intrinsics
Microsoft Specific
The intrinsics listed in the following table are followed by a description of each intrinsic.
MMX intrinsics use the __m64 data type, which is not supported on x64 processors.
The header file mmintrin.h contains the declarations for the MMX intrinsics.
Packed Arithmetic Intrinsics
Intrinsic name |
Operation |
Signed |
Argument and result values/bits |
Corresponding instruction |
---|---|---|---|---|
Adds |
Not applicable |
8/8, 8/8 |
PADDB |
|
Adds |
Not applicable |
4/16, 4/16 |
PADDW |
|
Adds |
Not applicable |
2/32, 2/32 |
PADDD |
|
Adds |
Yes |
8/8, 8/8 |
PADDSB |
|
Adds |
Yes |
4/16, 4/16 |
PADDSW |
|
Adds |
No |
8/8, 8/8 |
PADDUSB |
|
Adds |
No |
4/16, 4/16 |
PADDUSW |
|
Subtracts |
Not applicable |
8/8, 8/8 |
PSUBB |
|
Subtracts |
Not applicable |
4/16, 4/16 |
PSUBW |
|
Subtracts |
Not applicable |
2/32, 2/32 |
PSUBD |
|
Subtracts |
Yes |
8/8, 8/8 |
PSUBSB |
|
Subtracts |
Yes |
4/16, 4/16 |
PSUBSW |
|
Subtracts |
No |
8/8, 8/8 |
PSUBUSB |
|
Subtracts |
No |
4/16, 4/16 |
PSUBUSW |
|
Multiplies |
Not applicable |
4/16, 2/32 |
PMADDWD |
|
Multiplies |
Yes |
4/16, 4/16 (high) |
PMULHW |
|
Multiplies |
Not applicable |
4/16, 4/16 (low) |
PMULLW |