https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111696
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The vectorizer has not much to do with the warning issue except for the IR change into FRE. Before fre5: _11 = &last_14(D)->s; memcpy (_11, &cur.s, 24); After: vectp.7_19 = &accum_13(D)->sD.4831.aD.4827[0]; ... vectp.10_9 = &last_14(D)->sD.4831.aD.4827[0]; ... # .MEM_26 = VDEF <.MEM_12(D)> MEM <vector(2) long unsigned intD.17> [(long unsigned intD.17 *)vectp.7_19] = vect__5.13_24; # .MEM_17 = VDEF <.MEM_26> MEM <unsigned charD.31[24]> [(charD.11 * {ref-all})vectp.10_9] = MEM <unsigned charD.31[24]> [(charD.11 * {ref-all})&curD.4832];