avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] register allocation - something not right


From: Russell Shaw
Subject: Re: [avr-gcc-list] register allocation - something not right
Date: Wed, 29 Dec 2004 10:35:06 +1100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040820 Debian/1.7.2-4

address@hidden wrote:
I'll create a patch when I've added some more meat to the improvements.

Those that cant wait can try replacing "order_2" definition about line 4766 in 
avr.c  with

 static const int order_2[] = {
    22,23,
    24,25,
    18,19,
    20,21,
    26,27,
    30,31,
    16,17,
    2,3,4,5,6,7,8,9,10,11,12,13,14,15,
    28,29,
    1,0,
    32,33,34,35
  };


and rebuilding (make install).
This is the register allocation order for the compile option -morder2.

-morder doesn't seem to be a listed compiler switch (man avr-gcc).

> So nothing will or should happen unless you add that as a compile option in your make file. Makes it easy to compare results.

Note library routines wont be affected unless you re-create libgcc etc.

Please post improvements (or otherwise!). The change will favor large operands 
such as longs and floats so pls indicate what flavor of code you are using.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]