------- Comment #1 from eric dot weddington at atmel dot com 2010-03-08 20:56
-------
I cannot reproduce the problem.
Used this command line:
avr-gcc -save-temps -O0 -mmcu=atmega164p -c test.c -o test.o
Generated this assembly:
.file "test.c"
__SREG__ = 0x3f
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__CCP__ = 0x34
__tmp_reg__ = 0
__zero_reg__ = 1
.text
.global Usart0AtModeSkipLine
.type Usart0AtModeSkipLine, @function
Usart0AtModeSkipLine:
push r29
push r28
push __tmp_reg__
in r28,__SP_L__
in r29,__SP_H__
/* prologue: function */
/* frame size = 1 */
std Y+1,__zero_reg__
lds r24,mUsart0BufferReadPtr
std Y+1,r24
lds r24,mUsart0BufferReadPtr
std Y+1,r24
lds r24,mUsart0BufferReadPtr
std Y+1,r24
/* epilogue start */
pop __tmp_reg__
pop r28
pop r29
ret
.size Usart0AtModeSkipLine, .-Usart0AtModeSkipLine
.comm mUsart0BufferReadPtr,1,1
.global __do_clear_bss
and the object code disassembly was this:
test.o: file format elf32-avr
Disassembly of section .text:
00000000 <Usart0AtModeSkipLine>:
0: df 93 push r29
2: cf 93 push r28
4: 0f 92 push r0
6: cd b7 in r28, 0x3d ; 61
8: de b7 in r29, 0x3e ; 62
a: 19 82 std Y+1, r1 ; 0x01
c: 80 91 00 00 lds r24, 0x0000
10: 89 83 std Y+1, r24 ; 0x01
12: 80 91 00 00 lds r24, 0x0000
16: 89 83 std Y+1, r24 ; 0x01
18: 80 91 00 00 lds r24, 0x0000
1c: 89 83 std Y+1, r24 ; 0x01
1e: 0f 90 pop r0
20: cf 91 pop r28
22: df 91 pop r29
24: 08 95 ret
So we need a complete test case, along with a command line that can reproduce
the problem.
--
eric dot weddington at atmel dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43104