[LLVMdev] Any reason why fastcc on x86 shouldn't use ECX as a return register?

Chris Lattner clattner at apple.com
Mon Dec 14 09:52:15 PST 2009

On Dec 14, 2009, at 7:01 AM, Kenneth Uildriks wrote:

> Now that we can safely return arbitrarily large structs on x86, it
> seems to me that fastcc, which doesn't have to conform to any
> preexisting ABI, should use ECX as well as EAX and EDX for returning
> {i32,i32,i32} rather than use sret-demotion.
> Any objections?

Seems fine to me, just make sure to do EAX then EDX then ECX because  
{i32,i32} is important for other ABI reasons.


More information about the llvm-dev mailing list