https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93080
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #3) > I have not looked into how to fix these regressions though. So the problem here is that PRE decides that BIT_INSERT_EXPR is partial redundant and moves the BIT_INSERT_EXPR inside the branch. Since I have decided match.pd is not the way to go for this one, I no longer run into this regression. Also I have a patch now which fixes comment #4 .