Bidirectional shifting in VHDL efficient implementation
Don't worry about it. A barrel shifter is just an array of multiplexers. If you have N different shift amounts, then the multiplexers need to have N inputs each. It doesn't matter if the shift amounts are positive or negative. The amount of logic synthesized in any case will be exactly the same.