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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
That is:
```
/* -A CMP -B -> B CMP A.  */
(for cmp (tcc_comparison)
     scmp (swapped_tcc_comparison)
 (simplify
  (cmp (negate @0) (negate @1))
  (if (FLOAT_TYPE_P (TREE_TYPE (@0))
       || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
           && (cmp == EQ_EXPR
               || cmp == NE_EXPR
               || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (@0)))))
   (scmp @0 @1)))
 (simplify
  (cmp (negate @0) CONSTANT_CLASS_P@1)
  (if (FLOAT_TYPE_P (TREE_TYPE (@0))
       || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
           && (cmp == EQ_EXPR
               || cmp == NE_EXPR
               || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (@0)))))
   (with { tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (@0), @1); }
    (if (tem && !TREE_OVERFLOW (tem))
     (scmp @0 { tem; }))))))
```

Reply via email to