http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50444
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2011-09-26 17:24:47 UTC --- The problem is the wrong alignment for e->v in method. The initial RTL has (insn 17 16 18 4 (set (mem/s/j:V2DI (plus:DI (reg/v/f:DI 66 [ e ]) (const_int 40 [0x28])) [0 MEM[(struct Engine *)e_1(D) + 40B].m+0 S16 A128]) (reg:V2DI 68)) x.c:36 -1 (nil)) A128 is wrong.