|
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.
[Prev in Thread] | Current Thread | [Next in Thread] |