This adjusts the way that we lower NEON shifts to use a DAG target node, not via a neon intrinsic. This is useful in D64212 for handling the way we lower MVE vector shift operations. It also renames some of the immediate shift nodes for consistency, and moves some of the processing of immediate shifts into LowerShift allowing it to capture more cases.
Thanks for splitting the patch up. I now actually see that this code was not added, but moved up here from somewhere else.
bikeshedding names: other nodes with an immediate have IMM capatilised. I don't have strong opinions, but more consistent would be to do that here too?