https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87046
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org Component|target |tree-optimization --- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> --- This appears recently fixed, gcc-8.1 still got this wrong but gcc-8.2 is ok. Possibly went away with PR 85597 fix, but not sure about that. On gcc-8.1 SLP incorrectly produced vectp.1_29 = u_4(D); vect__26.2_27 = MEM[(const double *)vectp.1_29]; _65 = MEM[(const double *)u_4(D) + 24B]; vectp.4_22 = v_7(D); vect__28.5_17 = MEM[(const double *)vectp.4_22]; _67 = MEM[(const double *)v_7(D) + 24B]; vectp.7_64 = w_10(D); vect__30.8_66 = MEM[(const double *)vectp.7_64]; _69 = MEM[(const double *)w_10(D) + 24B]; _68 = {_26, _39, _52, _65}; vect_cst__15 = _68; vect__31.9_25 = vect__26.2_27 * vect__28.5_17 + vect_cst__15;