search for: test600

Displaying 3 results from an estimated 3 matches for "test600".

Did you mean: test60
2010 Apr 02
2
[LLVMdev] Problem returning aggregate struct (complex number) by value
I'm trying to return an aggregate structure (a complex number, really) containing two 32-bit floats or two 64-bit doubles, by value. LLVM 2.6 compiled as 64-bit on OSX 10.6/x86-64. The 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...
2010 Apr 02
0
[LLVMdev] Problem returning aggregate struct (complex number) by value
Hi Andrew, > %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): unfortunately the x86-64 ABI says that complex numbers are *not* passed the same as a struct containing two floats. Your LL...
2010 Apr 02
1
[LLVMdev] Problem returning aggregate struct (complex number) by value
Duncan Sands wrote: > Hi Andrew, > >> %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): > > unfortunately the x86-64 ABI says that complex numbers are *not* passed the > same as a...