Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

<span class='option'>_pdep_u32/64 </span>

Transfer/scatter contiguous low order bits in the first source operand into the destination according to the mask in the second source operand. The corresponding Intel® AVX2 instruction is PDEP.

Syntax

extern unsigned int _pdep_u32(unsigned int source, unsigned int mask);

extern unsigned __int64 _pdep_u64(unsigned __int64 source, unsigned __int64 mask);

Arguments

source

the source operand from where the bits are transferred

mask

the mask value according to which the bits are transferred

Description

The intrinsics use a mask in the second source operand to transfer/scatter contiguous, low-order bits in the first source operand into the destination. It takes the low bits from the first source operand and deposit them in the destination at the corresponding bit locations that are set in the mask. All other bits (bits not set in mask) in the destination are set to 0.

Returns

Result of the operation