http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49881
Richard Henderson <rth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #24848|0 |1 is obsolete| | --- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> 2011-07-28 15:43:49 UTC --- Created attachment 24857 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24857 patch to generate pushes Really just a simple matter of defining the right stuff. On the aforementioned test case we now get lds r24,a1+1 push r24 lds r24,a1 push r24 ldd r24,Y+1 push r24 ld r24,Y push r24 push r15 push r14 rcall printf and text data bss dec hex filename 1487 32 0 1519 5ef z.o which is even better than the hacky A_O_A patch, and nearly 1K smaller than the unpatched output. Would one of you be so kind as to do a full test run? I don't have avr-libc et al set up on this machine...