[Bug middle-end/122307] FP compare reverse of LTGT and UNEQ should return UNKNOWN for HONOR_NANS and trapping math
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 17 23:50:29 GMT 2025
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.
More information about the Gcc-bugs
mailing list