A lot of the INSERT_SUBVECTOR combines can be more generally handled as if they have come from a CONCAT_VECTORS node.
I've been investigating adding a CONCAT_VECTORS combine to X86, but this is a much easier first step that avoids the issue of handling a number of pre-legalization issues that I've encountered.
Should have a function-level comment to describe the intended usage. Ie, this can fold concat_vectors or the subvector operands in a chain of insert_subvectors.