------- Comment #1 from danglin at gcc dot gnu dot org 2006-09-16 18:03 ------- The code is wrong in the initial RTL expansion:
(insn 10 9 0 (set (reg:SI 94 [ D.1473 ]) (plus:SI (reg/f:SI 95) (const_int 5 [0x5]))) -1 (nil) (nil)) ;; memcpy (D.1473, tp, 4) (insn 11 10 12 (set (reg/f:SI 96) (mem/f/c/i:SI (plus:SI (reg/f:SI 89 virtual-incoming-args) (const_int -8 [0xfffffff8])) [0 tp+0 S4 A32])) -1 (nil) (nil)) (insn 12 11 13 (set (reg:SI 97) (mem/s:SI (reg/f:SI 96) [0 S4 A32])) -1 (nil) (nil)) (insn 13 12 0 (set (mem/s:SI (reg:SI 94 [ D.1473 ]) [0 S4 A32]) (reg:SI 97)) -1 (nil) (nil)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29111