http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44141
--- Comment #9 from Venkataramanan <venkataramanan.kumar at amd dot com> 2012-03-27 10:51:06 UTC --- (In reply to comment #8) > Created attachment 27013 [details] > Simplied test case form ac.f90 GCC revision : 184502 Command to reproduce: gfortran unoptimal_move.f90 -S -march=bdver1 -Ofast -dP Unoptimal move patterns can be found by grepping the assembly as follows: grep *movv4sf_internal unoptimal_move.s # (reg:V4SF 21 xmm0)) test.f90:16 1100 {*movv4sf_internal} vmovaps %xmm0, (%rsp) # 393 *movv4sf_internal/3 [length = 5] # (reg:V4SF 21 xmm0)) test.f90:16 1100 {*movv4sf_internal} vmovaps %xmm0, 32(%rsp) # 396 *movv4sf_internal/3 [length = 6] # (reg:V4SF 21 xmm0)) test.f90:16 1100 {*movv4sf_internal} vmovaps %xmm0, 64(%rsp) # 399 *movv4sf_internal/3 [length = 6] # (reg:V4SF 21 xmm0)) test.f90:16 1100 {*movv4sf_internal} vmovaps %xmm0, 96(%rsp) # 402 *movv4sf_internal/3 [length = 6]