diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2014-04-08 14:27:55 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2014-04-08 14:27:55 +0000 |
commit | aa3637aafbbe22081f47309184666593cb45b606 (patch) | |
tree | 6df1481bae4a4626a828e30f211888d8d9582f3b /lib | |
parent | c428c29241707bf75f94d7c4eabebd1dc1b4a1fd (diff) | |
download | llvm-aa3637aafbbe22081f47309184666593cb45b606.tar.gz llvm-aa3637aafbbe22081f47309184666593cb45b606.tar.bz2 llvm-aa3637aafbbe22081f47309184666593cb45b606.tar.xz |
Merging r197572:
------------------------------------------------------------------------
r197572 | rafael.espindola | 2013-12-18 09:35:37 -0500 (Wed, 18 Dec 2013) | 6 lines
One ppc32-darwin, a i64 inside a structure can have 32 bit alignment.
Thanks for Iain Sandoe for testing this with the original gcc.
Clang was already getting this right.
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@205766 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/PowerPC/PPCTargetMachine.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp index 1d228b613b..44abfbcf6a 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -48,7 +48,8 @@ static std::string getDataLayoutString(const PPCSubtarget &ST) { // Note, the alignment values for f64 and i64 on ppc64 in Darwin // documentation are wrong; these are correct (i.e. "what gcc does"). - Ret += "-f64:64:64-i64:64:64"; + if (ST.isPPC64() || ST.isSVR4ABI()) + Ret += "-f64:64:64-i64:64:64"; // Set support for 128 floats depending on the ABI. if (ST.isPPC64() && ST.isSVR4ABI()) { |