[LLVMdev] 64bit MRV problem: { float, float, float} -> { double, float }

Ralf Karrenberg Chareos at gmx.de
Mon Jan 25 03:57:41 PST 2010

Uh, sorry, did not pay attention where I was replying ;)

Hey Duncan,

I do not understand why this behaviour is required. What is the problem
in having a function receive a single struct-parameter with three floats
compared to two scalar parameters?

source-code (C++):
struct Test3Float { float a, b, c; };
void test(Test3Float param, Test3Float* result) { ... }

%"struct.Test3Float" = type { float, float, float }
define void @_Z4test10Test3FloatPS_(double %param.0, float %param.1,
%"struct.Test3Float"* %result) { ... }


Duncan Sands wrote:
> Hi Ralf, please don't only reply to me personally: please reply to the
> mailing
> list as well.  That way others can respond with their own comments,
> and the
> discussion will be archived, for the benefit of those who have the
> same issue in
> the future.
> Thanks,
> Duncan.

More information about the llvm-dev mailing list