[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) { ... }

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

Best,
Ralf




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