[Bug target/48941] [arm gcc] NEON: Stack pointer operations performed even tho stack is not accessed at all in function.

ramana at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 2 06:52:00 GMT 2012


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

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #24234|0                           |1
        is obsolete|                            |

--- Comment #10 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2012-05-02 06:51:12 UTC ---
Created attachment 27282
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27282
Rebased patch.


This patch originally by Richard Sandiford fixed PR target/48941 but the
problem was that lower-subreg was being a bit too aggressive with lowering
subreg moves in this case causing unnecessary spills to the stack. As shown in
my mail in the thread on lower-subreg.c the code generated is far better now
with this patch in play . I've rebased to trunk, double checked that the
generated files from the ml description match up and added a simple test that
makes sure that the original testcase from the PR doesn't emit a vector store
instruction ! That should be enough to catch all the cases that we worry about.
There are still a few vmov's between Vector registers but I suspect that is
because of the vcombine at the end for which RichardE might have something in
flight. For the record, this patch is not directly applicable to earlier
release branches as it depends on the new behaviour of lower-subreg.c which is
why this bug is only targeted at 4.8.0



More information about the Gcc-bugs mailing list