Add a new DAG combine to fold EXTRACT_VECTOR_ELT through BUILD_VECTOR.
It breaks one ARM test, but I believe it canonicalizes the test in
a different way and the DAG should be updated to handle it. Added
another variant of the test, conceptually identical but which was
failing before this patch. CC:
- Tim to have a look at the AArch64 test change, I hope it is legal.
- Tom/Matt for the R600 test changes.
Would it make sense to check that the BUILD_VECTOR .hasOneUse()?