[Bug target/44141] Redundant loads and stores generated for AMD bdver1 target
venkataramanan.kumar at amd dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 27 11:27:00 GMT 2012
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]
More information about the Gcc-bugs
mailing list