[Bug rtl-optimization/20527] [4.1, 4.0 regression] Mishandling of postincrement causes bzip2 miscompilation.
hp at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Mar 18 04:29:00 GMT 2005
------- 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
More information about the Gcc-bugs
mailing list