Compile the attached code with -O3. It produces an redundent cmpl following a
subl:

        subl    28(%ebp), %eax
        cmpl    $0, %eax 
        je      L12
        jg      L10

Looks like it's missing a insn pattern so  combine would combine subl + cmpl.

See http://gcc.gnu.org/ml/gcc/2005-10/msg00347.html


-- 
           Summary: Redudant compare to zero not eliminated
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: evancheng at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24418

Reply via email to