This patch implements vector_splice in tablegen for:
a) when the immediate is equal to -1 (Imm==1) and uses: INSR + LASTB
For instance :
@llvm.experimental.vector.splice(Vector_1, Vector_2, -1)
@llvm.experimental.vector.splice(<A,B,C,D>, <E,F,G,H>, 1) ==> <D, E, F, G>
LAST RegLast, Vector_1 // RegLast = D INSR Res, (Vec2Rev >> 1), RegLast // Res = D + E, F, G
If all we do is return Op, then you can just as well say it's Legal. However, in my other comment I'm suggesting to do custom-lowering to bitcast the types, so that we don't need as many patterns.