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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #54601|0                           |1
        is obsolete|                            |

--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 54602
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54602&action=edit
gcc13-pr109008-wip.patch

And this version has both variants of foperator_minus hooked up as well.

Testcase could be e.g.:
double f1 (double eps) { double d = 1. + eps; if (d == 1.) return eps; return
0.0; }
double f2 (double eps) { double d = 1. + eps; if (d == 0x1.00001p0) return eps;
return 0.0; }
double f3 (double eps) { double d = 1. + eps; if (d == 2.) return eps; return
0.0; }
double f4 (double eps) { double d = 42. - eps; if (d == 42.) return eps; return
0.0; }
double f5 (double eps) { double d = 42. - eps; if (d == 0x2a.0001p0) return
eps; return 0.0; }
double f6 (double eps) { double d = 42. - eps; if (d == 43.) return eps; return
0.0; }
double f7 (double eps) { double d = eps - 42.; if (d == 42.) return eps; return
0.0; }
double f8 (double eps) { double d = eps - 42.; if (d == 0x2a.0001p0) return
eps; return 0.0; }
double f9 (double eps) { double d = eps - 42.; if (d == 43.) return eps; return
0.0; }

Reply via email to