pshufb

Function pshufb 

Source
fn pshufb<'tcx>(
    ecx: &mut MiriInterpCx<'tcx>,
    left: &OpTy<'tcx>,
    right: &OpTy<'tcx>,
    dest: &MPlaceTy<'tcx>,
) -> InterpResult<'tcx, ()>
Expand description

Shuffles bytes from left using right as pattern. Each 16-byte block is shuffled independently.

left and right are both vectors of type len x i8.

If the highest bit of a byte in right is not set, the corresponding byte in dest is taken from the current 16-byte block of left at the position indicated by the lowest 4 bits of this byte in right. If the highest bit of a byte in right is set, the corresponding byte in dest is set to 0.

https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_shuffle_epi8 https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_shuffle_epi8 https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm512_shuffle_epi8