From: Rafael Espindola Date: Mon, 16 Dec 2013 20:34:33 +0000 (+0000) Subject: Clang DataLayout string cleanup: don't print the FP defaults. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9a42fed3d07bdcf4ccc6faf89838f5dc87e40cd8;p=clang Clang DataLayout string cleanup: don't print the FP defaults. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197422 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 46ed6dfd13..490ae72dcd 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -486,7 +486,7 @@ public: this->Int64Type = TargetInfo::SignedLongLong; this->SizeType = TargetInfo::UnsignedInt; this->DescriptionString = "E-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"; + "i64:64:64-v128:128:128-n32"; } }; @@ -625,8 +625,8 @@ public: this->IntPtrType = TargetInfo::SignedInt; // RegParmMax is inherited from the underlying architecture this->LongDoubleFormat = &llvm::APFloat::IEEEdouble; - this->DescriptionString = "e-i64:64:64-" - "f32:32:32-f64:64:64-p:32:32:32-v128:32:32"; + this->DescriptionString = "e-i64:64:64" + "-p:32:32:32-v128:32:32"; } virtual typename Target::CallingConvCheckResult checkCallingConvention( CallingConv CC) const { @@ -1180,7 +1180,7 @@ class PPC32TargetInfo : public PPCTargetInfo { public: PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) { DescriptionString = "E-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"; + "i64:64:64-v128:128:128-n32"; switch (getTriple().getOS()) { case llvm::Triple::Linux: @@ -1225,11 +1225,11 @@ public: LongDoubleWidth = LongDoubleAlign = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; DescriptionString = "E-p:64:64:64-" - "i64:64:64-f32:32:32-f64:64:64-" + "i64:64:64-" "v128:128:128-n32:64"; } else DescriptionString = "E-p:64:64:64-" - "i64:64:64-f32:32:32-f64:64:64-f128:128:128-" + "i64:64:64-f128:128:128-" "v128:128:128-n32:64"; // PPC64 supports atomics up to 8 bytes. @@ -1254,7 +1254,7 @@ public: LongLongAlign = 32; SuitableAlign = 128; DescriptionString = "E-p:32:32:32" - "-f32:32:32-f64:64:64-v128:128:128-n32"; + "-v128:128:128-n32"; } virtual BuiltinVaListKind getBuiltinVaListKind() const { return TargetInfo::CharPtrBuiltinVaList; @@ -1269,7 +1269,7 @@ public: HasAlignMac68kSupport = true; SuitableAlign = 128; DescriptionString = "E-p:64:64:64-" - "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"; + "i64:64:64-v128:128:128-n32:64"; } }; } // end anonymous namespace. @@ -1376,8 +1376,8 @@ namespace { PointerWidth = PointerAlign = 32; SizeType = PtrDiffType = IntPtrType = TargetInfo::UnsignedInt; DescriptionString - = "e-p:32:32:32-i64:64:64-" - "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-" + = "e-p:32:32:32-i64:64:64" + "-v16:16:16-v32:32:32-v64:64:64-v128:128:128-" "n16:32:64"; } }; @@ -1388,8 +1388,8 @@ namespace { PointerWidth = PointerAlign = 64; SizeType = PtrDiffType = IntPtrType = TargetInfo::UnsignedLongLong; DescriptionString - = "e-p:64:64:64-i64:64:64-" - "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-" + = "e-p:64:64:64-i64:64:64" + "-v16:16:16-v32:32:32-v64:64:64-v128:128:128-" "n16:32:64"; } }; @@ -1409,7 +1409,7 @@ static const unsigned R600AddrSpaceMap[] = { static const char *DescriptionStringR600 = "e" "-p:32:32:32" - "-i64:64:64-f32:32:32" + "-i64:64:64" "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128" "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048" "-n32:64"; @@ -1417,7 +1417,7 @@ static const char *DescriptionStringR600 = static const char *DescriptionStringR600DoubleOps = "e" "-p:32:32:32" - "-i64:64:64-f32:32:32-f64:64:64" + "-i64:64:64" "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128" "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048" "-n32:64"; @@ -1426,7 +1426,7 @@ static const char *DescriptionStringSI = "e" "-p:64:64:64" "-p3:32:32:32" - "-i64:64:64-f32:32:32-f64:64:64" + "-i64:64:64" "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128" "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048" "-n32:64"; @@ -2934,7 +2934,7 @@ public: LongDoubleAlign = 32; SuitableAlign = 128; DescriptionString = "e-p:32:32:32" - "-f32:32:32-f64:32:64-v64:64:64-v128:128:128-" + "-f64:32:64-v64:64:64-v128:128:128-" "a:0:64-f80:32:32-n8:16:32-S128"; SizeType = UnsignedInt; PtrDiffType = SignedInt; @@ -3030,7 +3030,7 @@ public: SizeType = UnsignedLong; IntPtrType = SignedLong; DescriptionString = "e-p:32:32:32" - "-f32:32:32-f64:32:64-v64:64:64-v128:128:128-" + "-f64:32:64-v64:64:64-v128:128:128-" "a:0:64-f80:128:128-n8:16:32-S128"; HasAlignMac68kSupport = true; } @@ -3048,7 +3048,7 @@ public: WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; DescriptionString = "e-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-" + "i64:64:64-f80:128:128-v64:64:64-" "v128:128:128-a:0:64-f80:32:32-n8:16:32-S32"; } virtual void getTargetDefines(const LangOptions &Opts, @@ -3117,7 +3117,7 @@ public: WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; DescriptionString = "e-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-" + "i64:64:64-v64:64:64-v128:128:128-" "a:0:64-f80:32:32-n8:16:32-S32"; } virtual void getTargetDefines(const LangOptions &Opts, @@ -3225,7 +3225,7 @@ public: RegParmMax = 6; DescriptionString = "e-p:64:64:64-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-" + "i64:64:64-v64:64:64-v128:128:128-" "a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128"; // Use fpret only for long double. @@ -3399,7 +3399,7 @@ public: PointerWidth = PointerAlign = 64; SuitableAlign = 128; DescriptionString = "e-p:64:64-" - "i64:64:64-i128:128:128-f32:32:32-f64:64:64-" + "i64:64:64-i128:128:128-" "f128:128:128-n32:64-S128"; WCharType = UnsignedInt; @@ -3714,11 +3714,11 @@ public: // Thumb1 add sp, #imm requires the immediate value be multiple of 4, // so set preferred for small types to 32. DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-" + "i64:64:64-" "v64:64:64-v128:64:128-a:0:32-n32-S64"); } else { DescriptionString = ("e-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-" + "i64:64:64-" "v64:64:64-v128:64:128-a:0:64-n32-S64"); } @@ -3768,11 +3768,11 @@ public: // Thumb1 add sp, #imm requires the immediate value be multiple of 4, // so set preferred for small types to 32. DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32" - "-f32:32:32-f64:32:64" + "-f64:32:64" "-v64:32:64-v128:32:128-a:0:32-n32-S32"); } else { DescriptionString = ("e-p:32:32:32" - "-f32:32:32-f64:32:64" + "-f64:32:64" "-v64:32:64-v128:32:128-a:0:32-n32-S32"); } @@ -4229,8 +4229,8 @@ public: HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; DescriptionString = ("e-p:32:32:32-" - "i64:64:64-i1:32:32-" - "f64:64:64-f32:32:32-a:0-n32"); + "i64:64:64-i1:32:32" + "-a:0-n32"); // {} in inline assembly are packet specifiers, not assembly variant // specifiers. @@ -4487,7 +4487,7 @@ public: SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) { // FIXME: Support Sparc quad-precision long double? DescriptionString = "E-p:32:32:32-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"; + "i64:64:64-v64:64:64-n32-S64"; } virtual void getTargetDefines(const LangOptions &Opts, @@ -4503,7 +4503,7 @@ public: SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) { // FIXME: Support Sparc quad-precision long double? DescriptionString = "E-p:64:64:64-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128"; + "i64:64:64-v64:64:64-n32:64-S128"; // This is an LP64 platform. LongWidth = LongAlign = PointerWidth = PointerAlign = 64; @@ -4775,8 +4775,8 @@ namespace { DoubleFormat = &llvm::APFloat::IEEEsingle; LongDoubleFormat = &llvm::APFloat::IEEEsingle; DescriptionString = "E-p:32:32:32-i8:8:32-" - "i16:16:32-i64:32:32-" - "f32:32:32-f64:32:32-v64:32:32-" + "i16:16:32-i64:32:32" + "-f64:32:32-v64:32:32-" "v128:32:32-a:0:32-n32"; AddrSpaceMap = &TCEOpenCLAddrSpaceMap; UseAddrSpaceMapMangling = true; @@ -5115,7 +5115,7 @@ public: class Mips32EBTargetInfo : public Mips32TargetInfoBase { virtual void setDescriptionString() { DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"; + "i64:64:64-v64:64:64-n32-S64"; } public: @@ -5133,7 +5133,7 @@ public: class Mips32ELTargetInfo : public Mips32TargetInfoBase { virtual void setDescriptionString() { DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"; + "i64:64:64-v64:64:64-n32-S64"; } public: @@ -5243,11 +5243,11 @@ class Mips64EBTargetInfo : public Mips64TargetInfoBase { virtual void setDescriptionString() { if (ABI == "n32") DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-f128:128:128-" + "i64:64:64-f128:128:128-" "v64:64:64-n32:64-S128"; else DescriptionString = "E-p:64:64:64-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-f128:128:128-" + "i64:64:64-f128:128:128-" "v64:64:64-n32:64-S128"; } @@ -5267,11 +5267,11 @@ class Mips64ELTargetInfo : public Mips64TargetInfoBase { virtual void setDescriptionString() { if (ABI == "n32") DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-f128:128:128" + "i64:64:64-f128:128:128" "-v64:64:64-n32:64-S128"; else DescriptionString = "e-p:64:64:64-i8:8:32-i16:16:32-" - "i64:64:64-f32:32:32-f64:64:64-f128:128:128-" + "i64:64:64-f128:128:128-" "v64:64:64-n32:64-S128"; } public: @@ -5418,8 +5418,8 @@ namespace { SizeType = TargetInfo::UnsignedInt; PtrDiffType = IntPtrType = TargetInfo::SignedInt; DescriptionString - = "e-p:32:32:32-i64:64:64-" - "f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-" + = "e-p:32:32:32-i64:64:64" + "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-" "v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-" "v512:512:512-v1024:1024:1024"; } @@ -5436,8 +5436,8 @@ namespace { SizeType = TargetInfo::UnsignedLong; PtrDiffType = IntPtrType = TargetInfo::SignedLong; DescriptionString - = "e-p:64:64:64-i64:64:64-" - "f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-" + = "e-p:64:64:64-i64:64:64" + "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-" "v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-" "v512:512:512-v1024:1024:1024"; } @@ -5466,7 +5466,7 @@ public: UseZeroLengthBitfieldAlignment = true; DescriptionString = "e-p:32:32:32-a:0:32-n32" "-i1:8:32-i8:8:32-i16:16:32-i64:32:32" - "-f16:16:32-f32:32:32-f64:32:32"; + "-f16:16:32-f64:32:32"; } virtual void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const { diff --git a/test/CodeGen/target-data.c b/test/CodeGen/target-data.c index fa64fb04c5..b72e1dc774 100644 --- a/test/CodeGen/target-data.c +++ b/test/CodeGen/target-data.c @@ -1,132 +1,132 @@ // RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=I686-UNKNOWN %s -// I686-UNKNOWN: target datalayout = "e-p:32:32:32-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S128" +// I686-UNKNOWN: target datalayout = "e-p:32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S128" // RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=I686-DARWIN %s -// I686-DARWIN: target datalayout = "e-p:32:32:32-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:128:128-n8:16:32-S128" +// I686-DARWIN: target datalayout = "e-p:32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:128:128-n8:16:32-S128" // RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=I686-WIN32 %s -// I686-WIN32: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" +// I686-WIN32: target datalayout = "e-p:32:32:32-i64:64:64-f80:128:128-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" // RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=I686-CYGWIN %s -// I686-CYGWIN: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" +// I686-CYGWIN: target datalayout = "e-p:32:32:32-i64:64:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=X86_64 %s -// X86_64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128" +// X86_64: target datalayout = "e-p:64:64:64-i64:64:64-v64:64:64-v128:128:128-a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128" // RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %s | \ // RUN: FileCheck --check-prefix=XCORE %s -// XCORE: target datalayout = "e-p:32:32:32-a:0:32-n32-i1:8:32-i8:8:32-i16:16:32-i64:32:32-f16:16:32-f32:32:32-f64:32:32" +// XCORE: target datalayout = "e-p:32:32:32-a:0:32-n32-i1:8:32-i8:8:32-i16:16:32-i64:32:32-f16:16:32-f64:32:32" // RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \ // RUN: FileCheck %s --check-prefix=SPARC-V8 -// SPARC-V8: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// SPARC-V8: target datalayout = "E-p:32:32:32-i64:64:64-v64:64:64-n32-S64" // RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \ // RUN: FileCheck %s --check-prefix=SPARC-V9 -// SPARC-V9: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128" +// SPARC-V9: target datalayout = "E-p:64:64:64-i64:64:64-v64:64:64-n32:64-S128" // RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=MIPS-32EL -// MIPS-32EL: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// MIPS-32EL: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-v64:64:64-n32-S64" // RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=MIPS-32EB -// MIPS-32EB: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// MIPS-32EB: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-v64:64:64-n32-S64" // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=MIPS-64EL -// MIPS-64EL: target datalayout = "e-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EL: target datalayout = "e-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f128:128:128-v64:64:64-n32:64-S128" // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \ // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 -// MIPS-64EL-N32: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EL-N32: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f128:128:128-v64:64:64-n32:64-S128" // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=MIPS-64EB -// MIPS-64EB: target datalayout = "E-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EB: target datalayout = "E-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f128:128:128-v64:64:64-n32:64-S128" // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \ // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 -// MIPS-64EB-N32: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EB-N32: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f128:128:128-v64:64:64-n32:64-S128" // RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PS3 -// PS3: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32" +// PS3: target datalayout = "E-p:32:32:32-i64:64:64-v128:128:128-n32" // RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=NACL // RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=NACL -// NACL: target datalayout = "e-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:32" +// NACL: target datalayout = "e-i64:64:64-p:32:32:32-v128:32:32" // RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC -// PPC: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32" +// PPC: target datalayout = "E-p:32:32:32-i64:64:64-v128:128:128-n32" // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD -// PPC64-FREEBSD: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" +// PPC64-FREEBSD: target datalayout = "E-p:64:64:64-i64:64:64-v128:128:128-n32:64" // RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC64-LINUX -// PPC64-LINUX: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" +// PPC64-LINUX: target datalayout = "E-p:64:64:64-i64:64:64-f128:128:128-v128:128:128-n32:64" // RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC32-DARWIN -// PPC32-DARWIN: target datalayout = "E-p:32:32:32-f32:32:32-f64:64:64-v128:128:128-n32" +// PPC32-DARWIN: target datalayout = "E-p:32:32:32-v128:128:128-n32" // RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=PPC64-DARWIN -// PPC64-DARWIN: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" +// PPC64-DARWIN: target datalayout = "E-p:64:64:64-i64:64:64-v128:128:128-n32:64" // RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=NVPTX -// NVPTX: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" +// NVPTX: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" // RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=NVPTX64 -// NVPTX64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" +// NVPTX64: target datalayout = "e-p:64:64:64-i64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" // RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=R600 -// R600: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" +// R600: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" // RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \ // RUN: | FileCheck %s -check-prefix=R600D -// R600D: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" +// R600D: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" // RUN: %clang_cc1 -triple r600-unknown -target-cpu hawaii -o - -emit-llvm %s \ // RUN: | FileCheck %s -check-prefix=R600SI -// R600SI: target datalayout = "e-p:64:64:64-p3:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" +// R600SI: target datalayout = "e-p:64:64:64-p3:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" // RUN: %clang_cc1 -triple aarch64-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=AARCH64 -// AARCH64: target datalayout = "e-p:64:64-i64:64:64-i128:128:128-f32:32:32-f64:64:64-f128:128:128-n32:64-S128" +// AARCH64: target datalayout = "e-p:64:64-i64:64:64-i128:128:128-f128:128:128-n32:64-S128" // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=THUMB -// THUMB: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:32-n32-S64" +// THUMB: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64:64-v64:64:64-v128:64:128-a:0:32-n32-S64" // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=ARM -// ARM: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-n32-S64" +// ARM: target datalayout = "e-p:32:32:32-i64:64:64-v64:64:64-v128:64:128-a:0:64-n32-S64" // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \ // RUN: %s | FileCheck %s -check-prefix=THUMB-GNU -// THUMB-GNU: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" +// THUMB-GNU: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \ // RUN: %s | FileCheck %s -check-prefix=ARM-GNU -// ARM-GNU: target datalayout = "e-p:32:32:32-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" +// ARM-GNU: target datalayout = "e-p:32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" // RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=HEXAGON -// HEXAGON: target datalayout = "e-p:32:32:32-i64:64:64-i1:32:32-f64:64:64-f32:32:32-a:0-n32" +// HEXAGON: target datalayout = "e-p:32:32:32-i64:64:64-i1:32:32-a:0-n32" // RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=SYSTEMZ @@ -138,12 +138,12 @@ // RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=TCE -// TCE: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-n32" +// TCE: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-n32" // RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=SPIR -// SPIR: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024" +// SPIR: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024" // RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=SPIR64 -// SPIR64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024" +// SPIR64: target datalayout = "e-p:64:64:64-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"