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

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

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


From: Dmitry K.
Subject: [avr-gcc-list] Prologue keeps registers which will not be restored ?
Date: Thu, 12 Jun 2003 19:24:58 +1100
User-agent: KMail/1.5

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 
*/



reply via email to

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