[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [f-cpu] calling conventions
> Another proposal :
>
> r0 : zero
> r1 : pointer to variable or additional function arguments
> (call-clobbered)
> r2-r15 : function return values or arguments (call-clobbered)
> r16-r31 : temporary registers (call-clobbered)
> r32-r47 : local registers (callee-saver)
> r48-r63 : global or special registers
>
> that way we could handle pair of registers much smarter
> (r2-r3,r3-r4,...,r14,r15).
>
> personally, I'm wondering if it is really necessary to limit function
argument
> to r15 instead of r31 or r29 (to be sure to have at least a pair of temporary
> registers), in so far as we can consider that all function arguments not used
> by a function may be used as temporary registers by this function...
Just a precision, the life of a temporary register in a function lasts between
the time it assigned and the time a call of a function is done therein or the
function exits, unlike local registers which would last between the start and
the end of the function where it is used.
*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu in the body. http://f-cpu.seul.org/