[En-Nut-Discussion] atmega2560 support

Nathan Moore nategoose at gmail.com
Fri Jul 11 16:08:23 CEST 2008


>
> I do not recommend to use WinAVR 20080610. With this, our code does
> not run. Worse, code size is greater, even they claim, compiler optimizes
> more.


The optimizations added to gcc over the last few years have tended to be for
finding parallelism and taking advantage of it,
but that's not something that helps on AVR.  I think that the AVR machine
description and optimizations are suffering from
bit rot to a moderate degree since several of the optimizations said to have
been added to the versions of gcc in newer
WinAVRs are not in fact done, even when explicitly asked for.  Tail calls,
unit at a time, and one that would
allow variables bigger than a register to be split into components for some
optimizations (which could be a big win for AVR)
all did not seem to be doing anything on AVR last time I checked.


And gcc still does the division twice for
  x = a/b;
  y = a%b;
I spent a while trying to figure out the differences between the .md for x86
and AVR on that one.
Anyway, I just don't think gcc is as good on AVR as it could be.

Nathan



More information about the En-Nut-Discussion mailing list