_mm512_srav_epi16
Classification
AVX-512, Shift, CPUID Test: AVX512BW
Header File
Instruction
VPSRAVW zmm, zmm, zmm
Synopsis
_mm512_srav_epi16(__m512i a, __m512i count);
Description
Shift packed 16-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 31
i := j*16
IF count[i+15:i] < 16
dst[i+15:i] := SignExtend16(a[i+15:i] >> count[i+15:i])
ELSE
dst[i+15:i] := (a[i+15] ? 0xFFFF : 0)
FI
ENDFOR
dst[MAX:512] := 0