Gathering data into SIMD registers and scattering it to the correct destination locations is tricky (sometimes requiring permute operations) and can be inefficient.
Specific instructions like rotations or three-operand addition are not available in some SIMD instruction sets.