On 12 April 2023 16:21:24 CEST, Jakub Jelinek via Gcc-patches 
<gcc-patches@gcc.gnu.org> wrote:

>--- gcc/range-op-float.cc.jj   2023-04-12 12:17:44.784962757 +0200
>+++ gcc/range-op-float.cc      2023-04-12 16:07:54.948759355 +0200
>@@ -835,10 +835,17 @@ public:
>   bool fold_range (irange &r, tree type,
>                  const frange &op1, const frange &op2,
>                  relation_trio = TRIO_VARYING) const final override;
>-  relation_kind op1_op2_relation (const irange &lhs, const frange &,
>-                                const frange &) const final override
>+  relation_kind op1_op2_relation (const irange &lhs, const frange &op1,
>+                                const frange &op2) const final override
>   {
>-    return lt_op1_op2_relation (lhs);
>+    relation_kind ret = lt_op1_op2_relation (lhs);
>+    if (ret == VREL_GE
>+      && (op1.known_isnan ()
>+          || op1.maybe_isnan ()
>+          || op2.known_isnan ()
>+          || op2.maybe_isnan ()))
>+      ret = VREL_VARYING; // Inverse of VREL_LT is VREL_UNGE with NAN ops.
>+    return ret;
>   }
>   bool op1_range (frange &r, tree type,
>                 const irange &lhs, const frange &op2,
>@@ -952,9 +959,17 @@ public:
>   bool fold_range (irange &r, tree type,
>                  const frange &op1, const frange &op2,
>                  relation_trio rel = TRIO_VARYING) const final override;
>-  relation_kind op1_op2_relation (const irange &lhs, const frange &,
>-                                const frange &) const final override
>+  relation_kind op1_op2_relation (const irange &lhs, const frange &op1,
>+                                const frange &op2) const final override
>   {
>+    relation_kind ret = le_op1_op2_relation (lhs);
>+    if (ret == VREL_GT
>+      && (op1.known_isnan ()
>+          || op1.maybe_isnan ()
>+          || op2.known_isnan ()
>+          || op2.maybe_isnan ()))
>+      ret = VREL_VARYING; // Inverse of VREL_LE is VREL_UNGT with NAN ops.
>+    return ret;
>     return le_op1_op2_relation (lhs);

I think you forgot to delete the above return.

thanks,

Reply via email to