> P.S.: if code that is missing prototypes for stdarg functions is of no 
> concern,
> there is another ABI alternative that might give good code density for
> architectures like ARC that have pre-decrement addressing modes and allow
> immediates to be pushed:
> 
> You could put all unnamed arguments on the stack (thus simplifying varargs
> processing), and leave all registers not used for argument passing call-saved.
> Thus, the callers wouldn't have to worry about saving these registers or
> reloading their values from the stack.
> 
> For gcc, this would require making the call fusage really work - probably
> involving a hook to tell the middle-end that the port really wants that - or a
> kludge to make affected call insn not look like call insns, similar to the 
> sfuncs.

Unfortunately, we need to be compatible with the previous ABI for the time 
being.
I am now investigating passing the DI like modes in non even-odd registers. The 
biggest challenge is how to pass such a mode partially, without introducing 
odd/even register classes.

Reply via email to