_mm_maskz_alignr_epi64
Classification
AVX-512, Miscellaneous, CPUID Test: AVX512F
Header File
Instruction
VALIGNQ xmm {z}, xmm, xmm, imm8
Synopsis
_mm_maskz_alignr_epi64(__mmask8 k, __m128i a, __m128i b, const int imm8);
Description
Concatenate "a" and "b" into a 32-byte immediate result, shift the result right by "imm8" 64-bit elements, and store the low 16 bytes (2 elements) in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
Operation
temp[255:128] := a[127:0]
temp[127:0] := b[127:0]
temp[255:0] := temp[255:0] >> (64*imm8[0])
FOR j := 0 to 1
i := j*64
IF k[j]
dst[i+63:i] := temp[i+63:i]
ELSE
dst[i+63:i] := 0
FI
ENDFOR
dst[MAX:128] := 0