Hi,
find enclosed a mail posted by Andy Hutchinson on the address@hidden list. I
forward this mail to this list since I think that this is the better forum
for discussing this issue.
The story is:
It seems that the gcc internals documentation was kind of misleading and for
this reason avr-gcc was not able to take benefit of a couple of optimizations
that avoid useless moves across registers when dealing with variables of
different byte sizes.
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.
Yours,
Björn