_mm_srav_epi64
Classification
AVX-512, Shift, CPUID Test: AVX512F
Header File
Instruction
VPSRAVQ xmm, xmm, xmm
Synopsis
_mm_srav_epi64(__m128i a, __m128i 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 1
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:128] := 0