[Bug target/41077] [avr] excessive prologue/epilogue for interrupt handler
hutchinsonandy at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Nov 26 17:12:00 GMT 2009
------- Comment #1 from hutchinsonandy at gcc dot gnu dot org 2009-11-26 17:12 -------
R1 and R0 are used at assembler level outside of compiler scope.
R1 is always expected to contain as a zero value - to avoid using a register to
load this common value. R1 maybe used in assembler for other purposes - but
must be restored to zero.
R0 is used as a temporary - to get around awkward situation created by compiler
like a = *a;
Thus any ISR will always save these values - and clear r1. Gcc cannot "see"
either r1 or r0 or otherwise track usage.
While we may debate the merits of this approach. It has been this way from day
one and will not change.
:-(
--
hutchinsonandy at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |WONTFIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41077
More information about the Gcc-bugs
mailing list