------- Comment #3 from eric dot weddington at atmel dot com 2008-06-08 18:08 ------- Generated code when structure size is 16 (test.i):
funct: /* prologue: function */ /* frame size = 0 */ lds r24,head mov r30,r24 clr r31 sbrc r30,7 com r31 ldi r24,4 1: lsl r30 rol r31 dec r24 brne 1b subi r30,lo8(-(qq)) sbci r31,hi8(-(qq)) ld r24,Z sbrc r24,1 std Z+1,__zero_reg__ .L3: ret Generated code when structure size is 17 (test2.i): funct: /* prologue: function */ /* frame size = 0 */ lds r24,head ldi r25,lo8(17) muls r24,r25 movw r30,r0 clr r1 subi r30,lo8(-(qq)) sbci r31,hi8(-(qq)) ld r24,Z sbrc r24,1 std Z+1,__zero_reg__ .L3: ret -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36467