[llvm-commits] [llvm] r46764 - in /llvm/trunk: include/llvm/CallingConv.h lib/Target/X86/X86CallingConv.td lib/Target/X86/X86ISelLowering.cpp
Dale Johannesen
dalej at apple.com
Tue Feb 5 14:31:13 PST 2008
On Feb 5, 2008, at 2:25 PM, Chris Lattner wrote:
> 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 :)
It would, but coercing standard types to a different type strikes me
as worse.
The IR really ought to be able to handle standard types without
obfuscation.
What I really wanted was to put InReg on the return value.
More information about the llvm-commits
mailing list