https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96481
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- double a[2]; typedef double v2df __attribute__((vector_size(16))); void foo (v2df x, v2df y, v2df z, v2df w) { double a0, a1; a0 = x[0] < y[0] ? z[0] : w[0]; a1 = x[1] < y[1] ? z[1] : w[1]; a[0] = a0; a[1] = a1; } is maybe a testcase that only has the PHI / gimple_cond parts preventing full vectorization. I've pushed a patch that should allow experimenting with relaxing the BB split of the dataref groups but I'm wondering about a good testcase to motivate fixing that on its own.