On Fri, Apr 21, 2023 at 10:43:44PM +0200, Mikael Morin wrote: > Hello, > > > --- gcc/gimple-range-op.cc.jj 2023-04-21 17:09:48.250367999 +0200 > > +++ gcc/gimple-range-op.cc 2023-04-21 18:37:26.048325391 +0200 > > @@ -439,20 +436,38 @@ public: > > r.set_varying (type); > > return true; > > } > > + > > // Results outside of [-1.0, +1.0] are impossible. > > REAL_VALUE_TYPE lb = lhs.lower_bound (); > > REAL_VALUE_TYPE ub = lhs.upper_bound (); > > - if (real_less (&lb, &dconstm1) > > - || real_less (&dconst1, &ub)) > > + if (real_less (&lb, &dconstm1) || real_less (&dconst1, &ub)) > > { > > Shouldn't lb and ub be swapped in this condition?
Yes, they should. > If I understand correctly, we are looking for ranges like [whatever,x] where > x < -1.0 or [y, whatever] where 1.0 < y. Jakub