Skip to main content

## vpdpbusd

# Function vpdpbusd

Source

    fn vpdpbusd<'tcx>(
        ecx: &mut MiriInterpCx<'tcx>,
        src: &OpTy<'tcx>,
        a: &OpTy<'tcx>,
        b: &OpTy<'tcx>,
        dest: &MPlaceTy<'tcx>,
    ) -> InterpResult<'tcx, ()>

Expand description

Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in `a` with corresponding signed 8-bit integers in `b`, producing 4 intermediate signed 16-bit results. Sum these 4 results with the corresponding 32-bit integer in `src` (using wrapping arighmetic), and store the packed 32-bit results in `dst`.

https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_dpbusd_epi32 https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm256_dpbusd_epi32 https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm512_dpbusd_epi32