Function miri::shims::x86::shift_simd_by_scalar

source ·
fn shift_simd_by_scalar<'tcx>(
    this: &mut MiriInterpCx<'_, 'tcx>,
    left: &OpTy<'tcx, Provenance>,
    right: &OpTy<'tcx, Provenance>,
    which: ShiftOp,
    dest: &MPlaceTy<'tcx, Provenance>
) -> 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.