http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57949

--- Comment #2 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
The wrong code is introduced during expand.  vs.m is computed as

  mem(plus(virtual-incoming-args, 72))

with the pad at offset 80, v[0..1] at offset 88, and v[2..3] at offset 96.  All
are shown as having alignment 8.  vs.m should have been placed at offset 80.

After loading these into virtual regs with DI mode, they are stored at offsets
0, 8, 16, 24 from virtual-stack-vars, which is given an alignment of 128. 
Later the vector is loaded with V4SF mode.

Reply via email to