[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-gcc-list] Re: GCC-AVR Update (20082003)
From: |
Oleksandr Redchuk |
Subject: |
[avr-gcc-list] Re: GCC-AVR Update (20082003) |
Date: |
Tue, 26 Aug 2003 07:47:43 +0300 (EDT) |
Hi, Theodore A. Roth!
25-Aug-03 10:11 you wrote:
KG>> ON my application, a USB HID device implemented in the AT43USB355, in IAR
KG>> it takes 12K, in avr-gcc, it takes 16K.
Some my device, ported from MCS51 and KeilC51:
KeilC51,
(size,8) optimisation: 9729 bytes
IAR C 1.40 (size,9) 11486
(speed,9) 13189
AVRGCC 3.3 -O2 15040
+some options 14106
KG>> The difference is that IAR has "cross-call optimization". What this does
KG>> is look for common code snippets. If they're longer than 2-3 words (I'm
KeilC51 @ high degree of size optimization do the same.
TR> Just out of curiousity, what kind of performance hit do you take
TR> because of this? Every rcall/ret is going to cost you 7 clock cycles
Even without this "global common subexpression" optimisztion
size-optimized code slower than speed-optimised. But size
optimisation exist in most compilers, yes?
In many cases speed not critical, but code must fit into flash.
TR> Can you disable this optimization is speed critical code
TR> sections?
This is command-line option -> can be controlled in
file-by-file basis. In old projects, compiled by IAR, I put ISR
and speed-critical code in separate files.
Wbr,
--
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua */
RE: Re[2]: [avr-gcc-list] Re: GCC-AVR Update (20082003), James Dabbs, 2003/08/25
RE: Re[2]: [avr-gcc-list] Re: GCC-AVR Update (20082003), James Dabbs, 2003/08/25