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

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
And here is the fix for phiopt:
```
diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc
index 9993bbe5b76..9b44ca9758a 100644
--- a/gcc/tree-ssa-phiopt.cc
+++ b/gcc/tree-ssa-phiopt.cc
@@ -2073,7 +2073,7 @@ minmax_replacement (basic_block cond_bb, basic_block
middle_bb, basic_block alt_

              /* We need BOUND <= LARGER.  */
              if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
-                                                 bound, larger)))
+                                                 bound, arg_false)))
                return false;
            }
          else if (operand_equal_for_phi_arg_p (arg_false, smaller)
@@ -2104,7 +2104,7 @@ minmax_replacement (basic_block cond_bb, basic_block
middle_bb, basic_block alt_

              /* We need BOUND >= SMALLER.  */
              if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
-                                                 bound, smaller)))
+                                                 bound, arg_false)))
                return false;
            }
          else
@@ -2144,7 +2144,7 @@ minmax_replacement (basic_block cond_bb, basic_block
middle_bb, basic_block alt_

              /* We need BOUND >= LARGER.  */
              if (!integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node,
-                                                 bound, larger)))
+                                                 bound, arg_true)))
                return false;
            }
          else if (operand_equal_for_phi_arg_p (arg_true, smaller)
@@ -2171,7 +2171,7 @@ minmax_replacement (basic_block cond_bb, basic_block
middle_bb, basic_block alt_

              /* We need BOUND <= SMALLER.  */
              if (!integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node,
-                                                 bound, smaller)))
+                                                 bound, arg_true)))
                return false;
            }
          else


```

Now I understand both patches even too.

Reply via email to