@regehr @resistor @barrelshifter If you want to just shift right or just shift left, that's straightforward, but if you need both (plus variants like arithmetic shifts), you end up making two or more full shifters, which is not great.
The main standard solutions are:
1. build a rotator, reduce everything to rotate+masking
2. set up into unidirectional funnel shift
3. data reversal shifter: optional bit reverse, uni-directional shifter, optional bit reverse.