Hi Rafael, Thanks for catching this!
As far as I know Darwin follows the ABI exactly. I'll fix that. BTW, is it possible for you to add a test case? Thanks, Evan On Aug 31, 2007, at 5:23 AM, Rafael Espindola wrote: > Author: rafael > Date: Fri Aug 31 07:23:58 2007 > New Revision: 41642 > > URL: http://llvm.org/viewvc/llvm-project?rev=41642&view=rev > Log: > Align i64 and f64 at 8 byte on x86-64. > This is mandated table 3.1 at > http://www.x86-64.org/documentation/abi.pdf > > > Modified: > llvm/trunk/lib/Target/X86/X86Subtarget.h > > Modified: llvm/trunk/lib/Target/X86/X86Subtarget.h > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/ > X86Subtarget.h?rev=41642&r1=41641&r2=41642&view=diff > > ====================================================================== > ======== > --- llvm/trunk/lib/Target/X86/X86Subtarget.h (original) > +++ llvm/trunk/lib/Target/X86/X86Subtarget.h Fri Aug 31 07:23:58 2007 > @@ -145,12 +145,18 @@ > > std::string getDataLayout() const { > const char *p; > - if (is64Bit()) > - p = "e-p:64:64-f64:32:64-i64:32:64-f80:128:128"; > - else if (isTargetDarwin()) > - p = "e-p:32:32-f64:32:64-i64:32:64-f80:128:128"; > - else > - p = "e-p:32:32-f64:32:64-i64:32:64-f80:32:32"; > + if (is64Bit()) { > + if (isTargetDarwin()) > + p = "e-p:64:64-f64:32:64-i64:32:64-f80:128:128"; > + else > + p = "e-p:64:64-f64:64:64-i64:64:64-f80:128:128"; > + } > + else { > + if (isTargetDarwin()) > + p = "e-p:32:32-f64:32:64-i64:32:64-f80:128:128"; > + else > + p = "e-p:32:32-f64:32:64-i64:32:64-f80:32:32"; > + } > return std::string(p); > } > > > > _______________________________________________ > llvm-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
