Richard Henderson wrote:
> When a frame pointer is in use, we can optimize popping all
> queued parameters via a simple move from the frame pointer
> instead of an addition to the stack pointer.
> 
> The new sequence is 4 insns, the old sequence was 9 insns.
> 
> Committed.
> 
> r~

4 insns is odd. You cannot move atomically to SP and the sequence
finally emit should be something like fiddling with IRQ-Flag.

      *l = 5;
      return (AS2 (in,__tmp_reg__,__SREG__)  CR_TAB
              "cli"                          CR_TAB
              AS2 (out,__SP_H__,%B1)         CR_TAB
              AS2 (out,__SREG__,__tmp_reg__) CR_TAB
              AS2 (out,__SP_L__,%A1));

Johann

Reply via email to