[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743
--- 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