[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] GCC 3.0 thread
From: |
Denis Chertykov |
Subject: |
Re: [avr-gcc-list] GCC 3.0 thread |
Date: |
Thu Jan 18 10:14:04 2001 |
address@hidden (J Wunsch) writes:
> Denis Chertykov <address@hidden> wrote:
>
> > Current avr-as understands `__tmp_reg__ = 0' and
> > (for example) `mov __tmp_reg__, r29'.
>
> Ah, ok. I guess this also solves the problem that the old avr-gcc
> produced invalid code for something like:
>
> int r24;
>
> void main(void) { r24 = 13; }
Yes.
> >> (Actually, there was a bug in my report, regarding the number of
> >> parameters to REGISTER_MOVE_COST() ...
>
> > Show me a code examples and GCC version.
>
> gcc-core-20010101.tar.gz:
>
> gcc-20010101/gcc/config/avr/avr.h (and all the other MD files)
> contains:
>
> #define REGISTER_MOVE_COST(MODE, FROM, TO) ((FROM) == STACK_REG ? 6 \
> : (TO) == STACK_REG ? 12 \
> : 2)
>
> gcc-20010101/gcc/regclass.c (and other files) use:
>
> for (i = 0; i < N_REG_CLASSES; i++)
> for (j = 0; j < N_REG_CLASSES; j++)
> {
> int cost = i == j ? 2 : REGISTER_MOVE_COST (i, j);
> ^^^^ only 2 params
You have a buggy snapshort. (gcc-20010101 was buggy)
Fragment from gcc/ChangeLog
2001-01-01 Alexandre Oliva <address@hidden>
* tm.texi (REGISTER_MOVE_COST): Add a mode argument.
* reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
* reload1.c (REGISTER_MOVE_COST): Likewise.
* regclass.c (REGISTER_MOVE_COST): Likewise.
(move_cost, may_move_in_cost, may_move_out_cost): Add mode
dimension. Adjust all users.
(init_reg_sets_1): Iterate on all modes.
* config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
* config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
* config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
* config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
* config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
* config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
* config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
* config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
* config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
* config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
* config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
* config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
* config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
* config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
* config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
* config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
* config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
* config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
* config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
* config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
* config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
* config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
* config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
* config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
* config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
- [avr-gcc-list] GCC 3.0 thread, Denis Chertykov, 2001/01/08
- Re: [avr-gcc-list] GCC 3.0 thread, J Wunsch, 2001/01/09
- Re: [avr-gcc-list] GCC 3.0 thread, Denis Chertykov, 2001/01/10
- Re: [avr-gcc-list] GCC 3.0 thread, J Wunsch, 2001/01/11
- Re: [avr-gcc-list] GCC 3.0 thread, Denis Chertykov, 2001/01/12
- Re: [avr-gcc-list] GCC 3.0 thread, J Wunsch, 2001/01/15
- Re: [avr-gcc-list] GCC 3.0 thread, Denis Chertykov, 2001/01/16
- Re: [avr-gcc-list] GCC 3.0 thread, J Wunsch, 2001/01/17
- Re: [avr-gcc-list] GCC 3.0 thread,
Denis Chertykov <=