https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105629
--- Comment #6 from Hans-Peter Nilsson <hp at gcc dot gnu.org> --- Created attachment 53011 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53011&action=edit Reduced fix on top of 93416de0cb; a fragmental revert The attached patch, applied to 93416de0cb, re-introduces the one of the removed #if GIMPLE clauses, but narrowed to the one (simplify ...) clause, that mattered for the regression. (Not regtested though, just pr94589-2.C re-compiled.) I have no idea how this pattern matched here, as there appears to be no "bit_and" expressions in the affected functions. I'd suspect some kind of saddle-point/local-minimum false lead, except then there'd reasonably be some half-way transformation left in the code. But then again, reasoning around bugs you don't fully understand is rarely useful. Anyway, I hope this helped.