https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83008
--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> --- On Sun, 19 Nov 2017, hubicka at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83008 > > Jan Hubicka <hubicka at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |NEW > Last reconfirmed| |2017-11-19 > Ever confirmed|0 |1 > > --- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> --- > I now get fir first loop: > > > a.c:6:5: note: Cost model analysis: > > Vector inside of loop cost: 1120 > > Vector prologue cost: 0 > > Vector epilogue cost: 0 > > Scalar iteration cost: 328 > > Scalar outside cost: 0 > > Vector outside cost: 0 > > prologue iterations: 0 > > epilogue iterations: 0 > > Calculated minimum iters for profitability: 0 > > a.c:6:5: note: Runtime profitability threshold = 4 > > a.c:6:5: note: Static estimate profitability threshold = 4 > > > For second lop I get: > > a.c:20:5: note: type of def: internal > > a.c:20:5: note: mark relevant 1, live 0: sum.0_60 = (unsigned int) sum_102; > > a.c:20:5: note: worklist: examine stmt: sum.0_60 = (unsigned int) sum_102; > > a.c:20:5: note: vect_is_simple_use: operand sum_102 > > a.c:20:5: note: def_stmt: sum_102 = PHI <0(6), sum_75(7)> > > a.c:20:5: note: type of def: unknown > > a.c:20:5: note: Unsupported pattern. > > a.c:20:5: note: not vectorized: unsupported use in stmt. > > a.c:20:5: note: unexpected pattern. > > Is it really that hard to sum values in vector? The issue is the vectorizer doesn't currently handle conversions: t.c:20:5: note: Analyze phi: sum_102 = PHI <0(6), sum_75(7)> t.c:20:5: note: reduction: not commutative/associative: sum_75 = (int) _61; I have patches to fix that though. Sitting somewhere... see PR65930.