http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50063
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |steven at gcc dot gnu.org --- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2011-09-11 15:25:10 UTC --- Already wrong in the .expand dump: ;; MEM[(volatile unsigned int *)&var][arg_1(D)] ={v} v_2; (insn 9 8 10 (set (reg:DI 63) (sign_extend:DI (reg/v:SI 60 [ argD.1604 ]))) t.c:6 -1 (nil)) (insn 10 9 11 (set (reg/f:DI 64) (symbol_ref:DI ("var") <var_decl 0x7f4b8054f140 var>)) t.c:6 -1 (nil)) (insn 11 10 0 (set (mem/s:SI (plus:DI (mult:DI (reg:DI 63) (const_int 4 [0x4])) (reg/f:DI 64)) [2 varD.1603 S4 A32]) (reg/v:SI 59 [ vD.1607 ])) t.c:6 -1 (nil)) It seems to me that the MEM in insn 11 should be mem/s/v.