This commit allows generating of complex number intrinsics for expressions
with constants or loops invariants, which are represented as splats.
For instance, after vectorizing loops in the following code snippets,
the ComplexDeinterleaving pass will be able to generate complex number
intrinsics:
complex<> x = ...; for (int i = 0; i < N; ++i) c[i] = a[i] * b[i] * x;
or
for (int i = 0; i < N; ++i) c[i] = a[i] * b[i] * (11.0 + 3.0i);
What's the reason for the square brackets here?