Open
Description
Here is an example of OpenCL program SPIR-V translator fails to translate because InstCombine
pass changes vector type to another vector type with the same size, but different # of elements.
long3 y;
kernel void foo(global int *x) {
x[0] = y.x;
}
https://godbolt.org/z/oMM9qv - LLVM IR contains 6 - element vectors. Changing data types in this example we can get a lot of vector types, which will be rejected by SPIR-V translator if SPV_INTEL_vector_compute
extension is not supported.