I am recreating the review from https://reviews.llvm.org/D59426 that seem to get lost somehow.
The idea is to be able to allow creating vector literals from other vectors.
Example from reported bug PR41010
kernel void test(__global float4 *out) { float4 a = (float4)(1.0f, 2.0f, 3.0f, 4.0f); float4 v = (float4)(a.s23, a.s01); *out = v; }