https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101434
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-07-13 Target| |x86_64-*-* i?86-*-* Blocks| |53947 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Keywords| |missed-optimization --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Probably low priority if not doable nicely w/o XOP. Note this is mainly due to integer promotion rules (we see shifts of int by int) and fear of introducing undefined behavior (the int by int shift has larger valid ranges for the RHS than a truncated one). There must be a duplicate bugreport. IMHO we might consider to make shifts of smaller than int types with out of bound shift amounts well-defined. I think there's no way to rewrite types to avoid the undefined behavior like we can do with signed arithmetic -> unsigned arithmetic (besides division by -1 where the sign matters). Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations