fn split_simd_to_128bit_chunks<'tcx>(
    this: &mut MiriInterpCx<'_, 'tcx>,
    left: &OpTy<'tcx, Provenance>,
    right: &OpTy<'tcx, Provenance>,
    dest: &MPlaceTy<'tcx, Provenance>
) -> InterpResult<'tcx, (u64, u64, MPlaceTy<'tcx, Provenance>, MPlaceTy<'tcx, Provenance>, MPlaceTy<'tcx, Provenance>)>
Expand description

Splits left, right and dest (which must be SIMD vectors) into 128-bit chuncks.

left, right and dest cannot have different types.

Returns a tuple where:

  • The first element is the number of 128-bit chunks (let’s call it N).
  • The second element is the number of elements per chunk (let’s call it M).
  • The third element is the left vector split into chunks, i.e, it’s type is [[T; M]; N].
  • The fourth element is the right vector split into chunks.
  • The fifth element is the dest vector split into chunks.