Update for llvm's DataLayout including mangling information.

llvm-svn: 198439
This commit is contained in:
Rafael Espindola 2014-01-03 19:22:05 +00:00
parent 58873566b3
commit c418ae93a8
2 changed files with 89 additions and 70 deletions

View File

@ -485,7 +485,7 @@ public:
this->UIntMaxType = TargetInfo::UnsignedLongLong;
this->Int64Type = TargetInfo::SignedLongLong;
this->SizeType = TargetInfo::UnsignedInt;
this->DescriptionString = "E-p:32:32-i64:64-n32:64";
this->DescriptionString = "E-m:e-p:32:32-i64:64-n32:64";
}
};
@ -625,11 +625,11 @@ public:
// RegParmMax is inherited from the underlying architecture
this->LongDoubleFormat = &llvm::APFloat::IEEEdouble;
if (Triple.getArch() == llvm::Triple::arm) {
this->DescriptionString = "e-p:32:32-i64:64-v128:64:128-n32-S128";
this->DescriptionString = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S128";
} else if (Triple.getArch() == llvm::Triple::x86) {
this->DescriptionString = "e-p:32:32-i64:64-n8:16:32-S128";
this->DescriptionString = "e-m:e-p:32:32-i64:64-n8:16:32-S128";
} else if (Triple.getArch() == llvm::Triple::x86_64) {
this->DescriptionString = "e-p:32:32-i64:64-n8:16:32:64-S128";
this->DescriptionString = "e-m:e-p:32:32-i64:64-n8:16:32:64-S128";
} else if (Triple.getArch() == llvm::Triple::mipsel) {
// Handled on mips' setDescriptionString.
} else {
@ -1188,7 +1188,7 @@ namespace {
class PPC32TargetInfo : public PPCTargetInfo {
public:
PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) {
DescriptionString = "E-p:32:32-i64:64-n32";
DescriptionString = "E-m:e-p:32:32-i64:64-n32";
switch (getTriple().getOS()) {
case llvm::Triple::Linux:
@ -1232,9 +1232,9 @@ public:
if (getTriple().getOS() == llvm::Triple::FreeBSD) {
LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble;
DescriptionString = "E-i64:64-n32:64";
DescriptionString = "E-m:e-i64:64-n32:64";
} else
DescriptionString = "E-i64:64-n32:64";
DescriptionString = "E-m:e-i64:64-n32:64";
// PPC64 supports atomics up to 8 bytes.
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
@ -1257,7 +1257,7 @@ public:
PtrDiffType = SignedInt; // for http://llvm.org/bugs/show_bug.cgi?id=15726
LongLongAlign = 32;
SuitableAlign = 128;
DescriptionString = "E-p:32:32-f64:32:64-n32";
DescriptionString = "E-m:o-p:32:32-f64:32:64-n32";
}
virtual BuiltinVaListKind getBuiltinVaListKind() const {
return TargetInfo::CharPtrBuiltinVaList;
@ -1271,7 +1271,7 @@ public:
: DarwinTargetInfo<PPC64TargetInfo>(Triple) {
HasAlignMac68kSupport = true;
SuitableAlign = 128;
DescriptionString = "E-i64:64-n32:64";
DescriptionString = "E-m:o-i64:64-n32:64";
}
};
} // end anonymous namespace.
@ -2917,7 +2917,7 @@ public:
LongDoubleWidth = 96;
LongDoubleAlign = 32;
SuitableAlign = 128;
DescriptionString = "e-p:32:32-f64:32:64-f80:32-n8:16:32-S128";
DescriptionString = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128";
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
IntPtrType = SignedInt;
@ -3011,7 +3011,7 @@ public:
MaxVectorAlign = 256;
SizeType = UnsignedLong;
IntPtrType = SignedLong;
DescriptionString = "e-p:32:32-f64:32:64-f80:128-n8:16:32-S128";
DescriptionString = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128";
HasAlignMac68kSupport = true;
}
@ -3027,7 +3027,7 @@ public:
TLSSupported = false;
WCharType = UnsignedShort;
DoubleAlign = LongLongAlign = 64;
DescriptionString = "e-p:32:32-i64:64-f80:32-n8:16:32-S32";
DescriptionString = "e-m:c-p:32:32-i64:64-f80:32-n8:16:32-S32";
}
virtual void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
@ -3094,7 +3094,7 @@ public:
TLSSupported = false;
WCharType = UnsignedShort;
DoubleAlign = LongLongAlign = 64;
DescriptionString = "e-p:32:32-i64:64-f80:32-n8:16:32-S32";
DescriptionString = "e-m:c-p:32:32-i64:64-f80:32-n8:16:32-S32";
}
virtual void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
@ -3200,7 +3200,7 @@ public:
Int64Type = SignedLong;
RegParmMax = 6;
DescriptionString = "e-i64:64-f80:128-n8:16:32:64-S128";
DescriptionString = "e-m:e-i64:64-f80:128-n8:16:32:64-S128";
// Use fpret only for long double.
RealTypeUsesObjCFPRet = (1 << TargetInfo::LongDouble);
@ -3323,6 +3323,7 @@ public:
: DarwinTargetInfo<X86_64TargetInfo>(Triple) {
Int64Type = SignedLongLong;
MaxVectorAlign = 256;
DescriptionString = "e-m:o-i64:64-f80:128-n8:16:32:64-S128";
}
};
} // end anonymous namespace
@ -3372,7 +3373,7 @@ public:
LongDoubleWidth = LongDoubleAlign = 128;
PointerWidth = PointerAlign = 64;
SuitableAlign = 128;
DescriptionString = "e-i64:64-i128:128-n32:64-S128";
DescriptionString = "e-m:e-i64:64-i128:128-n32:64-S128";
WCharType = UnsignedInt;
LongDoubleFormat = &llvm::APFloat::IEEEquad;
@ -3661,14 +3662,15 @@ class ARMTargetInfo : public TargetInfo {
IsAAPCS = true;
DoubleAlign = LongLongAlign = LongDoubleAlign = SuitableAlign = 64;
const llvm::Triple &T = getTriple();
// size_t is unsigned long on Darwin and netbsd.
if (getTriple().isOSDarwin() || getTriple().getOS() == llvm::Triple::NetBSD)
if (T.isOSDarwin() || T.getOS() == llvm::Triple::NetBSD)
SizeType = UnsignedLong;
else
SizeType = UnsignedInt;
if (getTriple().getOS() == llvm::Triple::NetBSD) {
if (T.getOS() == llvm::Triple::NetBSD) {
WCharType = SignedInt;
} else {
// AAPCS 7.1.1, ARM-Linux ABI 2.4: type of wchar_t is unsigned int.
@ -3682,22 +3684,32 @@ class ARMTargetInfo : public TargetInfo {
if (IsThumb) {
// 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-i1:8:32-i8:8:32-i16:16:32-i64:64-"
"v128:64:128-a:0:32-n32-S64";
if (T.isOSBinFormatMachO())
DescriptionString = "e-m:o-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-"
"v128:64:128-a:0:32-n32-S64";
else
DescriptionString = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-"
"v128:64:128-a:0:32-n32-S64";
} else {
DescriptionString = "e-p:32:32-i64:64-v128:64:128-n32-S64";
if (T.isOSBinFormatMachO())
DescriptionString = "e-m:o-p:32:32-i64:64-v128:64:128-n32-S64";
else
DescriptionString = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64";
}
// FIXME: Enumerated types are variable width in straight AAPCS.
}
void setABIAPCS() {
const llvm::Triple &T = getTriple();
IsAAPCS = false;
DoubleAlign = LongLongAlign = LongDoubleAlign = SuitableAlign = 32;
// size_t is unsigned int on FreeBSD.
if (getTriple().getOS() == llvm::Triple::FreeBSD)
if (T.getOS() == llvm::Triple::FreeBSD)
SizeType = UnsignedInt;
else
SizeType = UnsignedLong;
@ -3717,11 +3729,19 @@ class ARMTargetInfo : public TargetInfo {
if (IsThumb) {
// 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-i1:8:32-i8:8:32-i16:16:32-f64:32:64"
"-v64:32:64-v128:32:128-a:0:32-n32-S32";
if (T.isOSBinFormatMachO())
DescriptionString = "e-m:o-p: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";
else
DescriptionString = "e-m:e-p: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";
} else {
DescriptionString =
"e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32";
if (T.isOSBinFormatMachO())
DescriptionString =
"e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32";
else
DescriptionString =
"e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32";
}
// FIXME: Override "preferred align" for double and long long.
@ -4225,7 +4245,7 @@ class HexagonTargetInfo : public TargetInfo {
public:
HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) {
BigEndian = false;
DescriptionString = "e-p:32:32-i1:32-i64:64-a:0-n32";
DescriptionString = "e-m:e-p:32:32-i1:32-i64:64-a:0-n32";
// {} in inline assembly are packet specifiers, not assembly variant
// specifiers.
@ -4480,7 +4500,7 @@ void SparcTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
class SparcV8TargetInfo : public SparcTargetInfo {
public:
SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
DescriptionString = "E-p:32:32-i64:64-f128:64-n32-S64";
DescriptionString = "E-m:e-p:32:32-i64:64-f128:64-n32-S64";
}
virtual void getTargetDefines(const LangOptions &Opts,
@ -4495,7 +4515,7 @@ class SparcV9TargetInfo : public SparcTargetInfo {
public:
SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
// FIXME: Support Sparc quad-precision long double?
DescriptionString = "E-i64:64-n32:64-S128";
DescriptionString = "E-m:e-i64:64-n32:64-S128";
// This is an LP64 platform.
LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
@ -4561,8 +4581,7 @@ namespace {
LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEquad;
MinGlobalAlign = 16;
DescriptionString = "E-i1:8:16-i8:8:16-i64:64"
"-f128:64-a:8:16-n32:64";
DescriptionString = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64";
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
}
virtual void getTargetDefines(const LangOptions &Opts,
@ -4670,7 +4689,7 @@ namespace {
IntPtrType = SignedInt;
PtrDiffType = SignedInt;
SigAtomicType = SignedLong;
DescriptionString = "e-p:16:16-i32:16:32-n8:16";
DescriptionString = "e-m:e-p:16:16-i32:16:32-n8:16";
}
virtual void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
@ -5104,7 +5123,7 @@ public:
class Mips32EBTargetInfo : public Mips32TargetInfoBase {
virtual void setDescriptionString() {
DescriptionString = "E-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64";
DescriptionString = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64";
}
public:
@ -5121,7 +5140,7 @@ public:
class Mips32ELTargetInfo : public Mips32TargetInfoBase {
virtual void setDescriptionString() {
DescriptionString = "e-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64";
DescriptionString = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64";
}
public:
@ -5230,9 +5249,9 @@ public:
class Mips64EBTargetInfo : public Mips64TargetInfoBase {
virtual void setDescriptionString() {
if (ABI == "n32")
DescriptionString = "E-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128";
DescriptionString = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128";
else
DescriptionString = "E-i8:8:32-i16:16:32-i64:64-n32:64-S128";
DescriptionString = "E-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128";
}
@ -5250,9 +5269,9 @@ public:
class Mips64ELTargetInfo : public Mips64TargetInfoBase {
virtual void setDescriptionString() {
if (ABI == "n32")
DescriptionString = "e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128";
DescriptionString = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128";
else
DescriptionString = "e-i8:8:32-i16:16:32-i64:64-n32:64-S128";
DescriptionString = "e-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128";
}
public:
Mips64ELTargetInfo(const llvm::Triple &Triple)
@ -5439,7 +5458,7 @@ public:
WCharType = UnsignedChar;
WIntType = UnsignedInt;
UseZeroLengthBitfieldAlignment = true;
DescriptionString = "e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32"
DescriptionString = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32"
"-f64:32-a:0:32-n32";
}
virtual void getTargetDefines(const LangOptions &Opts,

View File

@ -1,78 +1,78 @@
// 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-f64:32:64-f80:32-n8:16:32-S128"
// I686-UNKNOWN: target datalayout = "e-m:e-p:32:32-f64:32:64-f80: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-f64:32:64-f80:128-n8:16:32-S128"
// I686-DARWIN: target datalayout = "e-m:o-p:32:32-f64:32:64-f80: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-i64:64-f80:32-n8:16:32-S32"
// I686-WIN32: target datalayout = "e-m:c-p:32:32-i64:64-f80: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-i64:64-f80:32-n8:16:32-S32"
// I686-CYGWIN: target datalayout = "e-m:c-p:32:32-i64:64-f80: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-i64:64-f80:128-n8:16:32:64-S128"
// X86_64: target datalayout = "e-m:e-i64:64-f80: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-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32"
// XCORE: target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32"
// 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-i64:64-f128:64-n32-S64"
// SPARC-V8: target datalayout = "E-m:e-p:32:32-i64:64-f128: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-i64:64-n32:64-S128"
// SPARC-V9: target datalayout = "E-m:e-i64: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-i8:8:32-i16:16:32-i64:64-n32-S64"
// MIPS-32EL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64: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-i8:8:32-i16:16:32-i64:64-n32-S64"
// MIPS-32EB: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64: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-i8:8:32-i16:16:32-i64:64-n32:64-S128"
// MIPS-64EL: target datalayout = "e-m:m-i8:8:32-i16:16:32-i64: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-i8:8:32-i16:16:32-i64:64-n32:64-S128"
// MIPS-64EL-N32: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64: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-i8:8:32-i16:16:32-i64:64-n32:64-S128"
// MIPS-64EB: target datalayout = "E-m:m-i8:8:32-i16:16:32-i64: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-i8:8:32-i16:16:32-i64:64-n32:64-S128"
// MIPS-64EB-N32: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64: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-i64:64-n32:64"
// PS3: target datalayout = "E-m:e-p:32:32-i64:64-n32:64"
// RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=I686-NACL
// I686-NACL: target datalayout = "e-p:32:32-i64:64-n8:16:32-S128"
// I686-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32-S128"
// RUN: %clang_cc1 -triple x86_64-nacl -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=X86_64-NACL
// X86_64-NACL: target datalayout = "e-p:32:32-i64:64-n8:16:32:64-S128"
// X86_64-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32:64-S128"
// RUN: %clang_cc1 -triple arm-nacl-gnueabi -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=ARM-NACL
// ARM-NACL: target datalayout = "e-p:32:32-i64:64-v128:64:128-n32-S128"
// ARM-NACL: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S128"
// RUN: %clang_cc1 -triple mipsel-nacl -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=MIPS-NACL
// MIPS-NACL: target datalayout = "e-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
// MIPS-NACL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
// RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=LE32-NACL
@ -80,23 +80,23 @@
// RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=PPC
// PPC: target datalayout = "E-p:32:32-i64:64-n32"
// PPC: target datalayout = "E-m:e-p:32:32-i64:64-n32"
// RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=PPC64-FREEBSD
// PPC64-FREEBSD: target datalayout = "E-i64:64-n32:64"
// PPC64-FREEBSD: target datalayout = "E-m:e-i64:64-n32:64"
// RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=PPC64-LINUX
// PPC64-LINUX: target datalayout = "E-i64:64-n32:64"
// PPC64-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-p:32:32-f64:32:64-n32"
// PPC32-DARWIN: target datalayout = "E-m:o-p:32:32-f64:32:64-n32"
// RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=PPC64-DARWIN
// PPC64-DARWIN: target datalayout = "E-i64:64-n32:64"
// PPC64-DARWIN: target datalayout = "E-m:o-i64:64-n32:64"
// RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=NVPTX
@ -120,35 +120,35 @@
// RUN: %clang_cc1 -triple aarch64-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=AARCH64
// AARCH64: target datalayout = "e-i64:64-i128:128-n32:64-S128"
// AARCH64: target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
// RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=THUMB
// THUMB: target datalayout = "e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-v128:64:128-a:0:32-n32-S64"
// THUMB: target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-v128:64:128-a:0:32-n32-S64"
// RUN: %clang_cc1 -triple arm-unknown-gnueabi -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=ARM
// ARM: target datalayout = "e-p:32:32-i64:64-v128:64:128-n32-S64"
// ARM: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-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-i1:8:32-i8:8:32-i16:16:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
// THUMB-GNU: target datalayout = "e-m:e-p: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-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
// ARM-GNU: target datalayout = "e-m:e-p: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-i1:32-i64:64-a:0-n32"
// HEXAGON: target datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-n32"
// RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=SYSTEMZ
// SYSTEMZ: target datalayout = "E-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64"
// SYSTEMZ: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64"
// RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=MSP430
// MSP430: target datalayout = "e-p:16:16-i32:16:32-n8:16"
// MSP430: target datalayout = "e-m:e-p:16:16-i32:16:32-n8:16"
// RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=TCE