http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45722
--- Comment #14 from John David Anglin <danglin at gcc dot gnu.org> 2010-10-11 16:30:09 UTC --- At -O0, memcpy is used. So, problem doesn't occur. ;; x = sB; (insn 81 80 82 (set (reg/f:SI 160) (high:SI (symbol_ref:SI ("sB") [flags 0x200] <var_decl 0x4028f420 sB>)) ) pr45722-2.c:48 -1 (nil)) (insn 82 81 83 (set (reg/f:SI 159) (lo_sum:SI (reg/f:SI 160) (symbol_ref:SI ("sB") [flags 0x200] <var_decl 0x4028f420 sB>))) pr4 5722-2.c:48 -1 (expr_list:REG_EQUAL (symbol_ref:SI ("sB") [flags 0x200] <var_decl 0x4028f 420 sB>) (nil))) (insn 83 82 84 (set (reg:SI 161) (plus:SI (reg/f:SI 91 virtual-stack-vars) (const_int 24 [0x18]))) pr45722-2.c:48 -1 (nil)) (insn 84 83 85 (set (reg/f:SI 162) (reg/f:SI 159)) pr45722-2.c:48 -1 (nil)) (insn 85 84 86 (set (reg:SI 163) (const_int 6 [0x6])) pr45722-2.c:48 -1 (nil)) (insn 86 85 87 (set (reg:SI 26 %r26) (reg:SI 161)) pr45722-2.c:48 -1 (nil)) (insn 87 86 88 (set (reg:SI 25 %r25) (reg/f:SI 162)) pr45722-2.c:48 -1 (nil)) (insn 88 87 89 (set (reg:SI 24 %r24) (reg:SI 163)) pr45722-2.c:48 -1 (nil)) (call_insn 89 88 90 (parallel [ (set (reg:SI 28 %r28) (call (mem:SI (symbol_ref/v:SI ("@memcpy") [flags 0x41] <function_decl 0x402abf00 memcpy>) [0 S4 A32]) (const_int 16 [0x10]))) (clobber (reg:SI 1 %r1)) (clobber (reg:SI 2 %r2)) (use (const_int 0 [0])) ]) pr45722-2.c:48 -1 (expr_list:REG_EH_REGION (const_int 0 [0]) (nil)) (expr_list:REG_DEP_TRUE (use (reg:SI 24 %r24)) (expr_list:REG_DEP_TRUE (use (reg:SI 25 %r25)) (expr_list:REG_DEP_TRUE (use (reg:SI 26 %r26)) (nil))))) (insn 90 89 0 (set (reg:SI 164) (reg:SI 28 %r28)) pr45722-2.c:48 -1 (nil)) ;; r_16 = fn3B (a_13);