https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66142
--- Comment #26 from Yuri Rumyantsev <ysrumyan at gmail dot com> --- If we convert copy structures to copy structure fields test will be vectorized and all mentions of GOMP_SIMD_LANE will be deleted. But if we slightly modify test by introducing new function vdot and insert its call: b = r.x * ray->dir.x + r.y * ray->dir.y; | v b = vdot (r, ray->dir); test won't be vectorized: test2.cpp:70:9: note: not vectorized: not suitable for scatter store D.6062[_9].org.x = 1.0e+0; test2.cpp is attached.