public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/47862] New: Incorrect code for spilling a vector register
@ 2011-02-23 18:06 pthaugen at gcc dot gnu.org
  2011-02-24 22:00 ` [Bug rtl-optimization/47862] " pthaugen at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: pthaugen at gcc dot gnu.org @ 2011-02-23 18:06 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: Incorrect code for spilling a vector register
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pthaugen@gcc.gnu.org
                CC: bergner@gcc.gnu.org, meissner@gcc.gnu.org
              Host: powerpc64-linux
            Target: powerpc64-linux
             Build: powerpc64-linux


Created attachment 23444
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23444
testcase

Tracked down an issue in cpu2006 benchmark 456.hmmer where incorrect code is
generated when spilling a vector register. The normal floating point stfd/lfd
insns are being generated, which only spills half the vector (allowing the
other half to get clobbered across a function call).

Attatched testcase was compiled with: gcc -S -m64 -O3 -mcpu=power7
-mveclibabi=mass -ffast-math spill.c

Spill is occuring in the vectorized loop with expd2() calls. A snippet of that
loop showing the use vr11 as vector and incorrect spill follows. There are a
few other regs spilled in similar fashion in the loop.


        xvmuldp 11,58,12
        xvmuldp 34,57,12
        xvadddp 10,63,60
        stfd 11,144(1)
        xvadddp 53,53,10
        bl expd2
        nop
        lfd 11,144(1)
        xxlor 62,34,34
        xxlor 34,11,11
        xvmuldp 57,57,62
        bl expd2


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-03-16 20:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-23 18:06 [Bug rtl-optimization/47862] New: Incorrect code for spilling a vector register pthaugen at gcc dot gnu.org
2011-02-24 22:00 ` [Bug rtl-optimization/47862] " pthaugen at gcc dot gnu.org
2011-02-25  1:43 ` pthaugen at gcc dot gnu.org
2011-02-25 17:52 ` pthaugen at gcc dot gnu.org
2011-03-04 21:37 ` bergner at gcc dot gnu.org
2011-03-07 19:27 ` pthaugen at gcc dot gnu.org
2011-03-07 19:40 ` pthaugen at gcc dot gnu.org
2011-03-07 19:47 ` pthaugen at gcc dot gnu.org
2011-03-07 20:06 ` pthaugen at gcc dot gnu.org
2011-03-15 19:59 ` pthaugen at gcc dot gnu.org
2011-03-16 20:22 ` pthaugen at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).