# Function miri::shims::x86::shift_simd_by_simd

source ยท ```
fn shift_simd_by_simd<'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 the corresponding element of `right`

.

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.