https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117244
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-10-21 Status|UNCONFIRMED |NEW Target Milestone|--- |14.3 Summary|[14/15 Regression] missed |[14/15 Regression] missed |vectorization of (unsigned |vectorization of (unsigned |int)(-(bool_var)) |int)(-(int)(bool_var)) Ever confirmed|0 |1 Blocks| |53947 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Yes it does bisect to that but it was a latent missed optimization. In that this does not vectorize either: ``` unsigned int a[19]; void f2(bool b[19]) { for (int i = 0; i < 19; i += 1) { unsigned t = b[i]; a[i] = -t; } } ``` When it should. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations