http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50448
--- Comment #5 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-11-03 11:01:55 UTC --- (In reply to comment #0) > foo: > ldi r24,lo8(-86) > ldi r30,lo8(2752) > ldi r31,hi8(2752) > std Z+3,r24 > .L2: > lds r24,2754 > sbrs r24,7 > rjmp .L2 > ldi r24,lo8(-69) > ldi r30,lo8(2752) > ldi r31,hi8(2752) > std Z+3,r24 > [...] This is the code generated with Paolo's patch applied: foo: ldi r24,lo8(-86) sts 2755,r24 .L2: lds r24,2754 sbrs r24,7 rjmp .L2 ldi r24,lo8(-69) sts 2755,r24 [...]