_mm_rol_epi64
Classification
AVX-512, Shift, CPUID Test: AVX512F
Header File
Instruction
VPROLQ xmm, xmm, imm8
Synopsis
_mm_rol_epi64(__m128i a, const int imm8);
Description
Rotate the bits in each packed 64-bit integer in "a" to the left by the number of bits specified in "imm8", and store the results in "dst".
Operation
DEFINE LEFT_ROTATE_QWORDS(src, count_src) {
count := count_src % 64
RETURN (src << count) OR (src >> (64 - count))
}
FOR j := 0 to 1
i := j*64
dst[i+63:i] := LEFT_ROTATE_QWORDS(a[i+63:i], imm8[7:0])
ENDFOR
dst[MAX:128] := 0