https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122307
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Igor Shevlyakov from comment #2) > But simplify_rtx (called from combine.cc) when seeing (xor (cond) (const_1)) > will follow the path Evgeny mentioned. It is only true for architecures > where STORE_FLAG is 1. That's probably why it stayed hidden for a while. Most targets are `STORE_FLAG==1`, I think only 68k is -1 these days. As I said the gimple level is fine as invert_tree_comparison checks honor_nans. It is the middle-end since expansion might do the wrong thing too. Also it is hidden for a long time -fsignaling-nans is not as well tested. And trapping math is slightly more tested than -fsignaling-nans (since trapping math is default on) but there it less high on the list of fixing things.
