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 code does not use AVX512 regs at all.