fn shift_simd_by_scalar<'tcx>(
this: &mut MiriInterpCx<'tcx>,
left: &OpTy<'tcx>,
right: &OpTy<'tcx>,
which: ShiftOp,
dest: &MPlaceTy<'tcx>,
) -> InterpResult<'tcx, ()>
Expand description
Shifts each element of left
by a scalar amount. The shift amount
is determined by the lowest 64 bits of right
(which is a 128-bit vector).
For logic shifts, when right is larger than BITS - 1, zero is produced. For arithmetic right-shifts, when right is larger than BITS - 1, the sign bit is copied to all bits.