[Bug rtl-optimization/106785] ICE in fail, at selftest.cc:47 since r13-2266-g8bb1df032cc080

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 31 12:41:22 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106785

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If !MODE_HAS_NANS, then NANs can't appear ever, that is the VAX case.
Some floating point formats simply have no representation for those.
If MODE_HAS_NANS && !HONOR_NANS, it is user promising NaNs won't appear but the
floating point format supports them.  Code where NaN would appear is UB, we can
do anything we want, just shouldn't break code where the NaN wouldn't appear at
runtime.  Say
if (cond)
  x = __builtin_nan ("");
else
  x = 1.24;
we can assume that x will never be NaN with -ffinite-math-only.


More information about the Gcc-bugs mailing list