_mm512_srav_epi16
Classification
AVX-512, Shift, CPUID Test: AVX512BW
Header File
immintrin.h
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