[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