aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2007-08-31 12:23:58 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2007-08-31 12:23:58 +0000
commit7240ae3cac925ea3cface5982d75aa19c1d7c4b7 (patch)
treee32271768793d50c742d825a67d5a0c783592bed /lib/Target/X86
parentd4e4937b79a7da789379a09117cc74f20cd60623 (diff)
downloadexternal_llvm-7240ae3cac925ea3cface5982d75aa19c1d7c4b7.zip
external_llvm-7240ae3cac925ea3cface5982d75aa19c1d7c4b7.tar.gz
external_llvm-7240ae3cac925ea3cface5982d75aa19c1d7c4b7.tar.bz2
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
Diffstat (limited to 'lib/Target/X86')
-rw-r--r--lib/Target/X86/X86Subtarget.h18
1 files changed, 12 insertions, 6 deletions
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 @@ public:
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);
}