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

            Bug ID: 111110
           Summary: (A CMP B) != 0 and (A CMP B) == true patterns produce
                    an extra (A CMP B) rather than reusing it
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
          Assignee: pinskia at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

(simplify
  (ne (cmp@2 @0 @1) integer_zerop)
  (if (types_match (type, TREE_TYPE (@2)))
   (cmp @0 @1)))
 (simplify
  (eq (cmp@2 @0 @1) integer_truep)
  (if (types_match (type, TREE_TYPE (@2)))
   (cmp @0 @1)))



Those (cmp @0 @1) results really should just be @2 ....

Reply via email to