[Bug tree-optimization/126376] aarch64: cunrolli unrolls small constant-trip inner loops and blocks dot-product vectorization

"ptomsich at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.