------- Comment #5 from ramana at gcc dot gnu dot org  2010-01-14 16:21 -------
I took a cursory look at this case . This looks like a bug in the
backend specifically in arm_output_epilogue where the epilogue code
isn't designed to cope for restoring disjoint sets of registers from
the stack when the frame pointer is eliminated.

The epilogue code for restoring these registers would work fine in the
case where

 a. The registers to be restored are in a single sequence for load
multiple irrespective of whether the frame pointer is used or not.

 b. If the function ends up using a frame_pointer.

We need a separate case for when the frame pointer is not required and
one has more than one sequence to restore.


-- 

ramana at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
      Known to fail|                            |4.4.2 4.5.0


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

Reply via email to