Function miri::shims::x86::conditional_dot_product
source · fn conditional_dot_product<'tcx>(
this: &mut MiriInterpCx<'_, 'tcx>,
left: &OpTy<'tcx, Provenance>,
right: &OpTy<'tcx, Provenance>,
imm: &OpTy<'tcx, Provenance>,
dest: &MPlaceTy<'tcx, Provenance>
) -> 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
).