_mm256_srav_epi64
Classification
AVX-512, Shift, CPUID Test: AVX512F
Header File
Instruction
VPSRAVQ ymm, ymm, ymm
Synopsis
_mm256_srav_epi64(__m256i a, __m256i count);
Description
Shift packed 64-bit integers in "a" right by the amount specified by the corresponding element in "count" while shifting in sign bits, and store the results in "dst".
Operation
FOR j := 0 to 3
i := j*64
IF count[i+63:i] < 64
dst[i+63:i] := SignExtend64(a[i+63:i] >> count[i+63:i])
ELSE
dst[i+63:i] := (a[i+63] ? 0xFFFFFFFFFFFFFFFF : 0)
FI
ENDFOR
dst[MAX:256] := 0