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
commitb778b8d5b54ce49d563bd2017efff571e6faa624 (patch)
tree6c24a930c978ed8a1f5efbedf6997c46f0be83b9
parent469d86efcf45859173387499dd308714a3a68a4d (diff)
downloadllvm-b778b8d5b54ce49d563bd2017efff571e6faa624.tar.gz
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. ------------------------------------------------------------------------ llvm-svn: 205767
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetMachine.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
index 44abfbcf6a7c..d6767d51f2cc 100644
--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/llvm/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())