------- Comment #41 from rguenth at gcc dot gnu dot org 2009-01-19 12:37 ------- In
(insn 37 86 40 4 t.f:9 (parallel [ (set (reg:SI 2 cx [74]) (const_int 0 [0x0])) (set (reg/f:SI 5 di [72]) (plus:SI (ashift:SI (reg:SI 2 cx [74]) (const_int 2 [0x2])) (reg/f:SI 5 di [72]))) (set (mem/s/j:BLK (reg/f:SI 5 di [72]) [0 line+80 A32]) (const_int 0 [0x0])) (use (reg:SI 0 ax [73])) (use (reg:SI 2 cx [74])) ]) 856 {*rep_stossi} (expr_list:REG_DEAD (reg:SI 0 ax [73]) (expr_list:REG_UNUSED (reg/f:SI 5 di [72]) (expr_list:REG_UNUSED (reg:SI 2 cx [74]) (nil))))) the MEM_EXPR of (set (mem/s/j:BLK (reg/f:SI 5 di [72]) [0 line+80 A32]) (const_int 0 [0x0])) is bogus, it should be line, not line+80. Does forwprop adjust MEM_EXPRs properly? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38868