This patch adds legalisation of extensions where the operand
of the extend is a legal scalable type but the result is not.
EXTRACT_SUBVECTOR is used to split the result, before
being replaced by target-specific [S|U]UNPK[HI|LO] operations.
zext <vscale x 16 x i8> %a to <vscale x 16 x i16>
uunpklo z2.h, z0.b
uunpkhi z1.h, z0.b