This change makes some basic type combinations for G_SHUFFLE_VECTOR legal, and implements them with a very pessimistic TBL2 instruction in the selector.
For TBL2, support is also needed to generate constant pool entries and load from them in order to materialize the mask register.
Currently supports <2 x s64> and <4 x s32> result types.
unsigned i = 1, e = MaskDef->getNumOperands(); i < e; ++i?