miri::shims::x86

Function conditional_dot_product

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

Conditionally multiplies the packed floating-point elements in left and right using the high 4 bits in imm, sums the calculated products (up to 4), and conditionally stores the sum in dest using the low 4 bits of imm.

Each 128-bit chunk is treated independently (i.e., the value for the is i-th 128-bit chunk of dest is calculated with the i-th 128-bit blocks of left and right).