https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109690
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So in the case of without -march, we get: first: /app/example.cpp:14:24: note: Cost model analysis for part in loop 0: Vector cost: 28 Scalar cost: 24 so we reject that and then we try it again and this time for V8QI and then it works. With -march we get: /app/example.cpp:14:24: note: Cost model analysis for part in loop 0: Vector cost: 32 Scalar cost: 32 Which then we accept and does not retry it ...