A bugfix for X86TargetLowering:
For INSERT_VECTOR_ELT, X86TargetLowering may try to generate illegal type, for example v2i64 in special 32-bits target.
Because this Lowering optimization is done after Type Legalization, so we can no longer convert illegal type to legal again.
The small reproduce case "vector_double2_insert.ll" will crash in X86TargetLowering::LowerINSERT_VECTOR_ELT
We'd probably be better off adding i686 triple coverage to llvm/test/CodeGen/X86/avx-insertelt.ll to get much better coverage: