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

_mm_add_pi8

Adds

Not applicable

8/8, 8/8

PADDB

_mm_add_pi16

Adds

Not applicable

4/16, 4/16

PADDW

_mm_add_pi32

Adds

Not applicable

2/32, 2/32

PADDD

_mm_adds_pi8

Adds

Yes

8/8, 8/8

PADDSB

_mm_adds_pi16

Adds

Yes

4/16, 4/16

PADDSW

_mm_adds_pu8

Adds

No

8/8, 8/8

PADDUSB

_mm_adds_pu16

Adds

No

4/16, 4/16

PADDUSW

_mm_sub_pi8

Subtracts

Not applicable

8/8, 8/8

PSUBB

_mm_sub_pi16

Subtracts

Not applicable

4/16, 4/16

PSUBW

_mm_sub_pi32

Subtracts

Not applicable

2/32, 2/32

PSUBD

_mm_subs_pi8

Subtracts

Yes

8/8, 8/8

PSUBSB

_mm_subs_pi16

Subtracts

Yes

4/16, 4/16

PSUBSW

_mm_subs_pu8

Subtracts

No

8/8, 8/8

PSUBUSB

_mm_subs_pu16

Subtracts

No

4/16, 4/16

PSUBUSW

_mm_madd_pi16

Multiplies

Not applicable

4/16, 2/32

PMADDWD

_mm_mulhi_pi16

Multiplies

Yes

4/16, 4/16 (high)

PMULHW

_mm_mullo_pi16

Multiplies

Not applicable

4/16, 4/16 (low)

PMULLW

See Also

Reference

MMX Technology Intrinsic Groups