------- Additional Comments From hp at gcc dot gnu dot org  2005-03-18 04:29 
-------
The rtl dump for combine shows the first unmistakable sign of miscompilation:

(insn 35 34 36 2 (set (reg:SI 40)
        (mem:SI (post_inc:SI (reg:SI 31 [ ivtmp.5 ])) [3 S4 A8])) 32
{*movsi_internal} (nil)
    (expr_list:REG_INC (reg:SI 31 [ ivtmp.5 ])
        (nil)))

(note 36 35 37 2 NOTE_INSN_DELETED)

(insn 37 36 38 2 (set (reg:SI 42)
        (minus:SI (reg:SI 40)
            (mem:SI (plus:SI (reg:SI 31 [ ivtmp.5 ])
                    (const_int -4 [0xfffffffc])) [3 S4 A8]))) 70 {subsi3}
(insn_list:REG_DEP_TRUE 35 (nil))
    (expr_list:REG_INC (reg:SI 31 [ ivtmp.5 ])
        (expr_list:REG_DEAD (reg:SI 40)
            (nil))))

In contrast, the life pass just before it, looks right around this point.
Note also the REG_INC note on insn 37.  Looks spurious.


-- 


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

Reply via email to