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