summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-04-08 14:27:58 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-04-08 14:27:58 +0000
commit16fbfb406f11a05ff2a745639a60237fb071b1a6 (patch)
tree04f4a342f8c7d60948c9c75fac4411911d7c1b34
parentaa3637aafbbe22081f47309184666593cb45b606 (diff)
downloadllvm-16fbfb406f11a05ff2a745639a60237fb071b1a6.tar.gz
llvm-16fbfb406f11a05ff2a745639a60237fb071b1a6.tar.bz2
llvm-16fbfb406f11a05ff2a745639a60237fb071b1a6.tar.xz
Merging r197574:
------------------------------------------------------------------------ r197574 | rafael.espindola | 2013-12-18 10:06:25 -0500 (Wed, 18 Dec 2013) | 8 lines Fix f64 and f128 for ppc-darwin. This patch adds -f64:32:64 to 32 bit ppc darwin since a f64 inside a structure are only 32 bit aligned. The patch also drop -f128:64:128 from all ppc darwin, since f128 is 128 bit aligned. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@205767 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 44abfbcf6a..d6767d51f2 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -50,14 +50,12 @@ static std::string getDataLayoutString(const PPCSubtarget &ST) {
// documentation are wrong; these are correct (i.e. "what gcc does").
if (ST.isPPC64() || ST.isSVR4ABI())
Ret += "-f64:64:64-i64:64:64";
+ else
+ Ret += "-f64:32:64";
// Set support for 128 floats depending on the ABI.
- if (ST.isPPC64() && ST.isSVR4ABI()) {
- if (T.getOS() != llvm::Triple::FreeBSD)
- Ret += "-f128:128:128";
- } else {
+ if (!ST.isPPC64() && ST.isSVR4ABI())
Ret += "-f128:64:128";
- }
// Some ABIs support 128 bit vectors.
if (ST.isPPC64() && ST.isSVR4ABI())