This is a solution to bug 27617.
Bug description: The SLPVectorizer asserts on encountering GEPs with different index types, such as i8 and i64.
The patch includes a simple relaxation of the assert to allow constants being of different types, along with a regression test that will provoke the unrelaxed assert.
We usually try to minimize number of passes running on a test. For instance, if the assertion happened in SLPVectorizer, we probably only need slp-vectorizer: -indvars and -O1 can be removed (i.e. you run opt -indvars on the test and the output is the new test that doesn't need -indvars in the command line).