diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2007-08-31 12:23:58 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2007-08-31 12:23:58 +0000 |
commit | bb8a5cff67f8f758a06c46fa27a8065f54cce317 (patch) | |
tree | 17fc8fcfe5d398b71dbbf864fb121410cee48332 /llvm/lib/Target/X86/X86Subtarget.h | |
parent | 91becf4ffa72e0a48b6787fef0dee596eba4a16b (diff) | |
download | bcm5719-llvm-bb8a5cff67f8f758a06c46fa27a8065f54cce317.tar.gz bcm5719-llvm-bb8a5cff67f8f758a06c46fa27a8065f54cce317.zip |
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
llvm-svn: 41642
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.h')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h index 49af986c4b1..1b76d76c7a2 100644 --- a/llvm/lib/Target/X86/X86Subtarget.h +++ b/llvm/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); } |