------- Comment #6 from pinskia at gcc dot gnu dot org 2007-02-21 22:35 ------- ;; __builtin_memcpy ((char[0:][1:1] *) D.992, &C.966, 4) (insn 39 38 40 (set (reg:SI 134) (high:SI (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]))) -1 (nil) (nil))
(insn 40 39 41 (set (reg/f:SI 133) (lo_sum:SI (reg:SI 134) (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]))) -1 (nil) (expr_list:REG_EQUAL (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]) (nil))) (insn 41 40 42 (set (reg:SI 135) (mem/c/i:SI (reg/f:SI 133) [0 C.966+0 S4])) -1 (nil) (nil)) (insn 42 41 0 (set (mem:SI (reg:SI 120 [ D.992 ]) [0 S4 A8]) (reg:SI 135)) -1 (nil) (nil)) Hmm, the expansion of __builtin_memcpy just created an integer load. I think the memcpy improvements for x86 hide the issue there. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC host triplet|i686-pc-linux-gnu | GCC target triplet| |i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30095