From 16fbfb406f11a05ff2a745639a60237fb071b1a6 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 8 Apr 2014 14:27:58 +0000 Subject: 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 --- lib/Target/PowerPC/PPCTargetMachine.cpp | 8 +++----- 1 file 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()) -- cgit v1.2.3