This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

MODES_TIEABLE_P issue. Forwarded test results for libc library routines.


Hi,

find enclosed a test analyzing the length of some c-library functions with and 
without modes defined to be tieable.

For a real-world application I myself have observed a code size decrease of 
about 50 bytes for an application of about 16 k.

Yours,

Björn

Am Montag, 31. Januar 2005 23:17 schrieb Dmitry K.:
> > The change suggested by Andy Hutchinson affects one single line in
> > the gcc/config/avr/avr.h that presently reads
> > #define MODES_TIEABLE_P 0
> > to
> > #define MODES_TIEABLE_P 1
> > . My tests have shown that *with* this change, about 15 testcases in the
> > gcc testsuite work that did not beforehand and the code becomes
> > considerably tighter.
>
> I have try to apply it for avr-gcc 3.3.5. (Sorry, it was no time for
> others).
>
> Functions are from avr-libc-1.2.0, without ones too small or asm.
> (`*-new' are from patches).
>
> Results are in form: prog_words + stack_bytes
>
> -mmcu=atmega8 -Os -frename-registers
>                 3.2.3   3.3.5   3.3.5   3.4.3   4.0     4.0-nrr
> MODES_TIE:              0       1
>
> bsearch          69+12   68+12   68+12   67+12   66+12   66+12
> bsearch-new      70+12   70+12   70+12   69+12   76+14   76+14
> malloc          164+2   152+0   152+0   156+2   158+2   158+2
> free             99+2    92+2    92+2    92+2    86+2    86+2
> qsort           464+22  450+22  443+22  450+22  412+22  412+22
> do_random       102+14   91+10   87+10   93+10  173+14  173+14
> realloc         240+12  230+12  229+12  228+12  233+14  234+14
> strtol          308+36  291+36  291+36  295+36  318+36  312+36
> strtol-new      286+16  276+16  276+16  281+16  297+17  297+17
> strtoul         277+29  260+29  258+29  261+29  278+27  278+27
> strtoul-new     278+16  265+16  265+16  264+16  317+21  317+21
> vfprintf        672+36  652+36  649+36  626+36  694+37  694+37
> vfscanf         655+24  637+24  637+24  601+24  725+39  726+39
>
> Notes:
>     * Stack usage -- without nested calls.
>     * 4.0 is 20050116
>     * `-frename-registers' is not recommended in 4.0, so `4.0-nrr' is
>     without this option.
>     * MODES_TIE  -- MODES_TIEABLE_P in `avr.h'
> _______________________________________________
> AVR-libc-dev mailing list
> AVR-libc-dev@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/avr-libc-dev


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]