Fixes some combine issues for AMDGPU where we weren't
getting the many extract_vector_elt combines expected
in a future patch.
This should really be checking isOperationLegalOrCustom on
the extract. That improves a number of x86 lit tests, but
a few get stuck in an infinite loop from one place
where a similar looking extract is created. I have a
different workaround in the backend for that which
keeps many of those improvements, but also adds a few
regressions.
I wonder if it'd be safe to test for TLI.isOperationLegalOrCustom(ISD::EXTRACT_VECTOR_ELT, VT) if the extract is from the same vector type and the same index (constant or variable) as the original? Would that cover the cases you have?