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?
If I understand correctly, we are looking for ranges like [whatever,x] where x < -1.0 or [y, whatever] where 1.0 < y.

Mikael

Reply via email to