From 3022c28a0a890f5639f6b7a6791e822d53f09957 Mon Sep 17 00:00:00 2001 From: Will Schmidt Date: Mon, 24 Mar 2014 15:48:02 +0000 Subject: [PATCH] Update DataLayout/DescriptionString for ppc64le Update DataLayout/DescriptionString for ppc64le Similar LLVM change made in r203664 Testcase included. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204613 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 9 +++++++-- test/CodeGen/target-data.c | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1030a8cc38..0e1292d48d 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1245,8 +1245,13 @@ public: LongDoubleWidth = LongDoubleAlign = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; DescriptionString = "E-m:e-i64:64-n32:64"; - } else - DescriptionString = "E-m:e-i64:64-n32:64"; + } else { + if ((Triple.getArch() == llvm::Triple::ppc64le)) { + DescriptionString = "e-m:e-i64:64-n32:64"; + } else { + DescriptionString = "E-m:e-i64:64-n32:64"; + } +} // PPC64 supports atomics up to 8 bytes. MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; diff --git a/test/CodeGen/target-data.c b/test/CodeGen/target-data.c index 6ef445a408..0cc46b82a7 100644 --- a/test/CodeGen/target-data.c +++ b/test/CodeGen/target-data.c @@ -90,6 +90,10 @@ // RUN: FileCheck %s -check-prefix=PPC64-LINUX // PPC64-LINUX: target datalayout = "E-m:e-i64:64-n32:64" +// RUN: %clang_cc1 -triple powerpc64le-linux -o - -emit-llvm %s | \ +// RUN: FileCheck %s -check-prefix=PPC64LE-LINUX +// PPC64LE-LINUX: target datalayout = "e-m:e-i64:64-n32:64" + // RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC32-DARWIN // PPC32-DARWIN: target datalayout = "E-m:o-p:32:32-f64:32:64-n32" -- 2.40.0