https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126376
ptomsich at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=122347
--- Comment #7 from ptomsich at gcc dot gnu.org ---
Recognition at any level converts one accumulation chain into one DOT_PROD
chain, but the performance on these kernels comes from running several
independent chains to hide the accumulator's loop-carried latency (a strict
DOT_PROD still reduces serially within one register).
The transformation that builds those chains is outer-loop unroll-and-jam of the
reduction (PR122347). These two phases must compose: today the jammed loop
relies on the loop vectorizer, since the scalar-reduction loop is the only
shape where DOT_PROD is defined.