https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84777
--- Comment #8 from Allan Jensen <linux at carewolf dot com> --- Yes, those I say are missing are compared to -O2. I was investigating this in relation to Qt. We either build these files with -O3, or with -Os for customer that are binary size sensitive. Since some of the image handling routines are quite heavy and have been written for auto-vectorization I was just checking if I could get it to work and the results with your patch are quite good: Normal sizes of qdrawhelper.o with -O3/-O2/-Os: 277704 / 198984 / 168440 With -O2 -ftree-vectorize: 242224 With -O2 -fopenmp: 219536 With -Os -ftree-loop-vectorize: 168440 (no change) With -Os -fopenmp: 177144 (with your patch) So most of the -Os benefit and still many of the central draw loops auto-vectorized. Haven't benchmarked it yet though.