Update for llvm's DataLayout including mangling information.
llvm-svn: 198439
This commit is contained in:
parent
58873566b3
commit
c418ae93a8
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue