Displaying 1 result from an estimated 1 matches for "lcpi72_1".
Did you mean:
lcpi72_0
2010 Apr 02
2
[LLVMdev] Problem returning aggregate struct (complex number) by value
...IR I generate for a simple test case looks like this (float case):
%0 = type { float, float }
define %0 @test600() {
entry:
ret %0 { float 4.200000e+01, float 3.500000e+01 }
}
Running that through llc, the x86-64 assembly looks like this (abbreviated):
movss LCPI72_0(%rip), %xmm0
movss LCPI72_1(%rip), %xmm1
ret
Now, if I write a C function that does the same thing:
struct complex_float {
float real;
float imag;
};
static struct complex_float foo()
{
struct complex_float x = {42.0, 35.0};
return x;
}
The assembly code looks like this (compiled with GCC and disassemble...