John Criswell
2010-Jan-20 04:10 UTC
[LLVMdev] LLVM 2.6 and Aggregate Return Values: 64 bit
Dear All. How well does LLVM 2.6 support aggregate return values for 64 bit targets? I'm currently working on 64 bit Mac OS X and 64 bit Linux. Are there any known problems or limitations? -- John T.
Hi John,> How well does LLVM 2.6 support aggregate return values for 64 bit > targets? I'm currently working on 64 bit Mac OS X and 64 bit Linux. > Are there any known problems or limitations?on x86-64 it depends on what you are returning, but for example you should be able to return a 128 bit integer fine, but anything more will cause the code generator blow up. This limitation has been removed in the development version. Ciao, Duncan.
On Wednesday 20 January 2010 10:07:13 Duncan Sands wrote:> Hi John, > > > How well does LLVM 2.6 support aggregate return values for 64 bit > > targets? I'm currently working on 64 bit Mac OS X and 64 bit Linux. > > Are there any known problems or limitations? > > on x86-64 it depends on what you are returning, but for example you > should be able to return a 128 bit integer fine, but anything more > will cause the code generator blow up. This limitation has been > removed in the development version.I'm just curious but does this also work limitlessly on ARM? -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e
John Criswell
2010-Jan-20 15:35 UTC
[LLVMdev] LLVM 2.6 and Aggregate Return Values: 64 bit
Duncan Sands wrote:> Hi John, > > >> How well does LLVM 2.6 support aggregate return values for 64 bit >> targets? I'm currently working on 64 bit Mac OS X and 64 bit Linux. >> Are there any known problems or limitations? >> > > on x86-64 it depends on what you are returning, but for example you > should be able to return a 128 bit integer fine,Just to make sure I understand, if the size of the aggregate return value is 128 bits or less, then it should work. Correct?> but anything more > will cause the code generator blow up.By "blow up," do you mean that the code generator will fail to generate code at all (e.g., it will hit an assertion) or do you mean that the code generator will generate incorrect code? I am seeing the latter in my code, and I currently suspect it's a code generator bug (though I could be wrong). -- John T.> This limitation has been > removed in the development version. > > Ciao, > > Duncan. >