_mm_mask_bitshuffle_epi64_mask
Classification
AVX-512, Bit Manipulation, CPUID Test: AVX512_BITALG
Header File
immintrin.h
Instruction
VPSHUFBITQMB k {k}, xmm, xmm
Synopsis
 _mm_mask_bitshuffle_epi64_mask(__mmask16 k, __m128i b, __m128i c);
Description
Gather 64 bits from "b" using selection bits in "c". For each 64-bit element in "b", gather 8 bits from the 64-bit element in "b" at 8 bit position controlled by the 8 corresponding 8-bit elements of "c", and store the result in the corresponding 8-bit element of "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
Operation
FOR i := 0 to 1 //Qword
	FOR j := 0 to 7 // Byte
		IF k[i*8+j]
			m := c.qword[i].byte[j] & 0x3F
			dst[i*8+j] := b.qword[i].bit[m]
		ELSE
			dst[i*8+j] := 0
		FI
	ENDFOR
ENDFOR
dst[MAX:16] := 0