https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106687
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2022-08-19 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Target Milestone|--- |13.0 Known to fail| |13.0 Known to work| |12.1.0 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Something more reduced: bool var_0 = (bool)0; unsigned int var_7 = 42; char var_215; int main() { unsigned b = var_0; unsigned p2 = var_7; unsigned *tp; if (b < p2) tp = &p2; else tp = &b; unsigned tt = *tp; unsigned t = tt ^ (var_7 - var_0); var_215 = t ? t : 42; if (var_215 != 42) __builtin_abort(); }