The combine G_UNMERGE_VALUES with G_CONCAT_VECTORS used to only be performed
when the result type of the G_UNMERGE_VALUES was a vector type.
In other words, we were expecting that the G_UNMERGE_VALUES was effectively
the exact opposite of the G_CONCAT_VECTORS.
Lift that constraint by allowing any G_UNMERGE_VALUES to be combined
with any G_CONCAT_VECTORS (as long as the size of the different pieces
that we merge/unmerge match).
Note: The reason why we had this restriction was I believe to avoid G_UNMERGE_VALUES with scalars as definitions and a vector as input. I.e., an equivalent of a sort of G_UNBUILD_VECTOR. However, we don't have such vector-to-scalar specific opcode, so the limitation was artificial (AFAICT) and we actually already produce such patterns! (See added test case that are derived directly from the added integration test).
Second check.