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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41642 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86Subtarget.h b/lib/Target/X86/X86Subtarget.h
index 49af986..1b76d76 100644
--- a/lib/Target/X86/X86Subtarget.h
+++ b/lib/Target/X86/X86Subtarget.h
@@ -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);
}