[Bug target/94743] IRQ handler doesn't save scratch VFP registers

clyon at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 4 16:19:47 GMT 2020


--- Comment #11 from Christophe Lyon <clyon at gcc dot gnu.org> ---
(In reply to Richard Earnshaw from comment #10)
> (In reply to Christophe Lyon from comment #9)
> > > My initial thoughts are along the lines of...
> > > Only try to save FP registers that this function directly clobbers.
> > What's the point of saving these if a callee clobbers other registers?
> > 
> They need to be done early enough to ensure that any code in *this* function
> does not clobber them.  Any additional registers would have to be saved by a
> library call that does that.
Why do we need a library function for that? It would have to be special with
the stack: push FP registers, but do not restore SP, so that the dual restore
function can pop them and restore SP.

More information about the Gcc-bugs mailing list