[Bug tree-optimization/87046] Incorrect vectorization of fma with -O3

2018-08-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87046

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from Richard Biener  ---
Dup.

*** This bug has been marked as a duplicate of bug 85597 ***

[Bug tree-optimization/87046] Incorrect vectorization of fma with -O3

2018-08-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87046

--- Comment #3 from Martin Liška  ---
Fixed in r259840.

[Bug tree-optimization/87046] Incorrect vectorization of fma with -O3

2018-08-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87046

Richard Biener  changed:

   What|Removed |Added

   Keywords||needs-bisection
 CC||marxin at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
Martin, can you bisect what fixed this?

[Bug tree-optimization/87046] Incorrect vectorization of fma with -O3

2018-08-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87046

Alexander Monakov  changed:

   What|Removed |Added

 CC||amonakov at gcc dot gnu.org
  Component|target  |tree-optimization

--- Comment #1 from Alexander Monakov  ---
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;