https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103216
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #4) > (In reply to Andrew Pinski from comment #3) > > I am going to implement this. I think I only need the first conversion (and > > making sure cond goes away which leads to the second one) which should lead > > to the rest (after having fixed PR 103218 which I am doing first which is > > needed to get the 4th line). > > I was right and wrong. I still need to debug match-and-simplify for why ! > does not work in one case, I thought it would. Because it does not produce a leaf node, I needed to add a new flag ^ which is like ! but only checks to make sure not producing the same code again.