I just compared results of WinAVR gcc 4.3.2 with AVR-gcc-4.4.2 under Linux. Gcc-4.4.2 was provided by distribution packages (Fedora 12), the same project, the same makefile, the same options. I've compiled a relatively big program written in C++, and got the following results:
- AVR-gcc 4.3.2 "“ 43898 bytes,
- AVR-gcc 4.4.2 "“ 42250 bytes.
1648 bytes less, which is only 3,75%, but it is pretty impressive.
The application was pretty complicated (C++ code of GUI interface). I loaded it on target board and checked if everything works ok. It seems that gcc 4.4 produced fully functional code. I think it is a good information for all of us, and especially for these who almost fill the whole available FLASH.
Unfortunately next WinAVR will be still containing gcc 4.3.3, so we have to wait for longer to get benefits under Windows.