I altered the optimisation level in avra.bat to 3 (instead of 2 in FC7 or s in FC8) -to do this make a backup of avra.bat - you can find its location from 'compiler options') - edit the batch file (right click and choose edit) and change the -Os (in FC8) or -O2 (in FC7) in the first line to -O3 (note do not change the -o %2 %3)
The line should be similar to:
after editing."%~dp0..\bin\avr-gcc.exe" -mmcu=%1 -O3 -ffunction-sections -fdata-sections -funsigned-char -o %2 %3 -lm -Wl,-gc-sections
Save the file and reload FC.
(Alternately save the new batch file to a new filename and create a new compiler profile using the new bat file)
This sets the optimisation level of the compiler to maximum.
Recompiling Iain's program seems to give a much optimised interrupt routine. Attached are the lst files with -Os and -O3 optimisation - and the interrupt vector and interrupt routine are combined in the -O3 version. (Note that I have compiled it for the 328p processor here - I don't have a licence for the ATTiny13 in FC8 - however testing for ATTiny13 in FC7 gives a similar improvement).
So - are there any disadvantages to using -O3 over -Os (the gcc docs are at https://gcc.gnu.org/onlinedocs/gcc/Opti ... tions.html)
Martin