MMX-Miscellaneous-XMM

MMX-Miscellaneous-XMM#

_mm_packs_pi16#

Tech:

MMX

Category:

Miscellaneous

Header:

mmintrin.h

Searchable:

MMX-Miscellaneous-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI16 a, SI16 b

__m64 _mm_packs_pi16(__m64 a, __m64 b);

Intel Description

Convert packed signed 16-bit integers from “a” and “b” to packed 8-bit integers using signed saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

dst[7:0] := Saturate8(a[15:0])
dst[15:8] := Saturate8(a[31:16])
dst[23:16] := Saturate8(a[47:32])
dst[31:24] := Saturate8(a[63:48])
dst[39:32] := Saturate8(b[15:0])
dst[47:40] := Saturate8(b[31:16])
dst[55:48] := Saturate8(b[47:32])
dst[63:56] := Saturate8(b[63:48])

_mm_packs_pi32#

Tech:

MMX

Category:

Miscellaneous

Header:

mmintrin.h

Searchable:

MMX-Miscellaneous-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI32 a, SI32 b

__m64 _mm_packs_pi32(__m64 a, __m64 b);

Intel Description

Convert packed signed 32-bit integers from “a” and “b” to packed 16-bit integers using signed saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

dst[15:0] := Saturate16(a[31:0])
dst[31:16] := Saturate16(a[63:32])
dst[47:32] := Saturate16(b[31:0])
dst[63:48] := Saturate16(b[63:32])

_mm_packs_pu16#

Tech:

MMX

Category:

Miscellaneous

Header:

mmintrin.h

Searchable:

MMX-Miscellaneous-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI16 a, SI16 b

__m64 _mm_packs_pu16(__m64 a, __m64 b);

Intel Description

Convert packed signed 16-bit integers from “a” and “b” to packed 8-bit integers using unsigned saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

dst[7:0] := SaturateU8(a[15:0])
dst[15:8] := SaturateU8(a[31:16])
dst[23:16] := SaturateU8(a[47:32])
dst[31:24] := SaturateU8(a[63:48])
dst[39:32] := SaturateU8(b[15:0])
dst[47:40] := SaturateU8(b[31:16])
dst[55:48] := SaturateU8(b[47:32])
dst[63:56] := SaturateU8(b[63:48])