Well, the shift_rotate entity finally compiled at least. But the XST optimizer is saying certain muxes are equivalent... that I don't think really are.