--- gcc/config/avr/avr.c.org Sun Dec 1 04:43:28 2002 +++ gcc/config/avr/avr.c Sun Dec 1 04:49:41 2002 @@ -575,9 +575,9 @@ do_sph = !TARGET_TINY_STACK; lock_sph = do_sph && !TARGET_NO_INTERRUPTS; - do_cli = (before != 0 && (after == 0 || lock_sph)); + do_sei = do_cli = (before != 0 && (after == 0 || lock_sph)); do_save = (do_cli && before == -1 && after == -1); - do_sei = ((do_cli || before != 1) && after == 1); + // do_sei = ((do_cli || before != 1) && after == 1); size = 1; if (do_save) @@ -609,7 +609,8 @@ fprintf (file, AS2 (out, __SREG__, __tmp_reg__) CR_TAB); size++; } - else if (do_sei) + + if (do_sei) { fprintf (file, "sei" CR_TAB); size++;