avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Prologue keeps registers which will not be restored ?


From: eric
Subject: Re: [avr-gcc-list] Prologue keeps registers which will not be restored ?
Date: Thu, 12 Jun 2003 12:05:07 GMT

> Good evening!
> 
> Prologue keeps registers which will not be restored ?
> By the way, in the received code an appreciable error.
> 
> Programm:
> 
>       unsigned char f(void);
> 
>       void foo (void)
>       {
>          while ( ((f() ^ 1) & 1) == 0 ) ;
>       }
> 
> Options:
> 
>       avr-gcc -W -Wall -S -O2 prol-155.c
> 
> Result:
> 
>         .file   "prol-155.c"
>         .arch avr2
> __SREG__ = 0x3f
> __SP_H__ = 0x3e
> __SP_L__ = 0x3d
> __tmp_reg__ = 0
> __zero_reg__ = 1
>         .global __do_copy_data
>         .global __do_clear_bss
>         .text
> ..global foo
>         .type   foo, @function
> foo:
> /* prologue: frame size=0 */
>         push r28
> /* prologue end (size=1) */
> ..L2:
>         rcall f
>         rjmp .L2
> /* epilogue: frame size=0 */
> /* epilogue: noreturn */
> /* epilogue end (size=0) */
> /* function foo size 3 (2) */
>         .size   foo, .-foo
> /* File "prol-155.c": code    3 = 0x0003 (   2), 
prologues   1, epilogues   0 
> */
> 


Please fill out a GCC bug report, here:
<http://gcc.gnu.org/bugzilla/>

Thanks
Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]