[llvm-commits] [llvm] r46764 - in /llvm/trunk: include/llvm/CallingConv.h lib/Target/X86/X86CallingConv.td lib/Target/X86/X86ISelLowering.cpp

Chris Lattner clattner at apple.com
Tue Feb 5 14:25:12 PST 2008


On Feb 5, 2008, at 12:46 PM, Dale Johannesen wrote:
> URL: http://llvm.org/viewvc/llvm-project?rev=46764&view=rev
> Log:
> Implement sseregparm.

Very nice.

One thought about X86_SSECall: if it is only used to return float/ 
double in an xmm reg, you could get the same effect by having the CFE  
lower ssecall functions to return <4x f32> and <2 x f64> instead of  
float/double.  On the callee, you'd end up with an "ret insertelement  
undef, fpval" and on the caller side you'd get an extract element.

I think the calling convention stuff that Evan has been working on is  
powerful enough to model though sort of stuff, but might need minor  
extensions.  Do you think it would be reasonable do use this  
approach?  Doing so would eliminate a "magic" calling convention,  
which would be nice :)

-Chris




More information about the llvm-commits mailing list