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

Roger Sayle <roger at nextmovesoftware dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |roger at 
nextmovesoftware dot com
             Status|NEW                         |ASSIGNED

--- Comment #4 from Roger Sayle <roger at nextmovesoftware dot com> ---
Mine.  The new peephole2 is misbehaving with the (odd) RTL sequence:
(insn 62 61 63 2 (set (reg:DI 1 dx [111])
        (const_int 0 [0])) "pr110598.c":10:10 90 {*movdi_internal}

(insn 63 62 64 2 (parallel [
            (set (reg:DI 1 dx [110])
                (xor:DI (reg:DI 1 dx [111])
                    (reg:DI 1 dx)))
            (clobber (reg:CC 17 flags))
        ]) "pr110598.c":10:10 626 {*xordi_1}
     (expr_list:REG_UNUSED (reg:CC 17 flags)
        (nil)))

Doh!  I need to confirm/check that rega != regb.  Interesting that DF doesn't
consider insn 62 as REG_UNUSED (i.e. dead), a classic false dependency.

Reply via email to