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