Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public

Visible to Intel only — GUID: GUID-D417D7E3-F049-48DA-8E0D-17B130B7E58E

Document Table of Contents

_mm256_unpacklo_epi8/16/32/64

Unpacks and interleaves the low-order data elements of the source vector with the low-order data elements in the destination vector. The corresponding Intel® AVX2 instruction is VPUNPCKLBW, VPUNPCKLWD, VPUNPCKLDQ, or VPUNPCKLQDQ.

Syntax

extern __m256i _mm256_unpacklo_epi8(__m256i a, __m256i b);

extern __m256i _mm256_unpacklo_epi16(__m256i a, __m256i b);

extern __m256i _mm256_unpacklo_epi32(__m256i a, __m256i b);

extern __m256i _mm256_unpacklo_epi64(__m256i a, __m256i b);

Arguments

a

integer source vector used for the operation

b

integer source vector used for the operation

Description

Unpacks and interleaves the low-order signed or unsigned data elements (bytes, words, doublewords, and quadwords) of the source vector and the low-order signed or unsigned data elements (bytes, words, doublewords, and quadwords) in the destination operand. The high-order data elements are ignored.

Returns

Result of the interleave operation