https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88013
--- Comment #7 from ktkachov at gcc dot gnu.org --- I tried current trunk (future GCC 9) GCC 9 learned to avoid excessive widening during vectorisation, which is what accounts for the large number of instructions you see.