インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
2 つ目のソースベクトルにあるマスクに応じて、1 つ目のオペランドの連続する下位ビットをデスティネーションに転送/分散 (Scatter) します。対応するインテル® AVX2 命令は PDEP です。
extern unsigned int _pdep_u32(unsigned int source, unsigned int mask); |
extern unsigned __int64 _pdep_u64(unsigned __int64 source, unsigned __int64 mask); |
source |
ビットの転送元であるソースオペランド |
mask |
ビットの転送を指定するマスク値 |
2 つ目のソースオペランドにあるマスクを使用して、1 つ目のオペランドの連続する下位ビットをデスティネーションに転送/分散 (Scatter) します。1 つ目のソースオペランドの下位ビットを取り出し、マスクで設定されているデスティネーションの対応するビット位置にコピーします。デスティネーションの残りのビット (マスクで設定されていないビット) は 0 に設定されます。
操作の結果。