I am wondering if I'm doing something totally wrong or if there is an
issue with gcc-4.5.1 (yes, Eric, you have warned me)
disassembling the typical putc() from the final elf files shows:
11a: 90 91 c0 00 lds r25, 0x00C0
11e: 95 ff sbrs r25, 5
120: 03 c0 rjmp .+6 ; <-- weird?
122: 80 93 c6 00 sts 0x00C6, r24
126: 08 95 ret
128: ff cf rjmp .-2 ; <-- weird?
The corresponding code from gcc-4.3.3 was inlined and looks like:
d0: 80 91 c0 00 lds r24, 0x00C0
d4: 85 ff sbrs r24, 5
d6: fc cf rjmp .-8
d8: 90 93 c6 00 sts 0x00C6, r25
The corresponding source code is in Ada:
while UCSRA_Bits (UDRE_Bit) = False loop null; end loop;
UDR := Data;
I did not yet test a corresponding C code. I just want to ask if
somebody had seen an issue like that before.
Rolf
_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev