https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85694
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Target| |x86_64-*-*, i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2018-05-08 CC| |rguenth at gcc dot gnu.org Blocks| |53947 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. Note that in C you are writing 'int' arithmetic which we do not shorten which confuses us enough to vectorize this with 'int' operations. The main part, missed pavgb vectorization, is confirmed as well though with more intelligent vectorization using v16qi vectors combine could come to the rescue as well here (4 insn combine, so not very likely - also needs unconditional shift / division support for v16qi). Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations