On Tue, Sep 29, 2015 at 11:49 AM, Mike Stump <mikest...@comcast.net> wrote:
> To be feature complete, it would be nice to have two styles of interrupt 
> functions, one that returns with iret, and one that returns with ret.  The 
> point is that the user might want to call functions from a interrupt handler 
> and not save and restore all call clobbered registers.  By allowing a ret 
> style interrupt handler, calls to a ret style interrupt routine can avoid 
> saving and restoring all call clobbered registers.

Do you have a testcase for this?  I think the current implementation
covers most use cases.

> Oh, and I wish that all the port independent code for interrupt functions was 
> shared across all ports, as redoing all this code for each port is silly 
> (sad).  And example of this would be the sibcall code, the fact that all call 
> saved registers need to be saved is another.  The EPILOGUE_USES or the 
> gen_rtx_USE is yet another.  Type checking the return type to ensure the 
> return type is void, likely another.

A very good point, but beyond this implementation :-(.

> One last comment, most folks use EPILOGUE_USES and mark up the registers as 
> used.  You don’t.  I’m not sure if both ways work equally well, or if there 
> is a reason to prefer one over the other.  Maybe someone could comment on 
> this, as in my port I use EPILOGUE_USES and it seems to work just fine.

We will take a look.

> On Sep 29, 2015, at 6:49 AM, Yulia Koval <vaalfr...@gmail.com> wrote:
>> +  /* Always need to save SSE registrers in interrupt handler.  */
>
> Spelling registrers -> registers.
>
> Not in your code, but I noticed it:
>
>>    /* All pointer bounds argumntas are handled separately here.  */
>
> Spelling argumntas -> arguments?

I checked in an obvious patch to fix those typos.

Thanks.


-- 
H.J.

Reply via email to