this->Int64Type = TargetInfo::SignedLongLong;
this->SizeType = TargetInfo::UnsignedInt;
this->DescriptionString = "E-p:32:32:32-"
- "i64:64:64-v128:128:128-n32";
+ "i64:64:64-n32";
}
};
public:
PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) {
DescriptionString = "E-p:32:32:32-"
- "i64:64:64-v128:128:128-n32";
+ "i64:64:64-n32";
switch (getTriple().getOS()) {
case llvm::Triple::Linux:
LongDoubleFormat = &llvm::APFloat::IEEEdouble;
DescriptionString = "E-p:64:64:64-"
"i64:64:64-"
- "v128:128:128-n32:64";
+ "n32:64";
} else
DescriptionString = "E-p:64:64:64-"
"i64:64:64-f128:128:128-"
- "v128:128:128-n32:64";
+ "n32:64";
// PPC64 supports atomics up to 8 bytes.
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
LongLongAlign = 32;
SuitableAlign = 128;
DescriptionString = "E-p:32:32:32"
- "-v128:128:128-n32";
+ "-n32";
}
virtual BuiltinVaListKind getBuiltinVaListKind() const {
return TargetInfo::CharPtrBuiltinVaList;
HasAlignMac68kSupport = true;
SuitableAlign = 128;
DescriptionString = "E-p:64:64:64-"
- "i64:64:64-v128:128:128-n32:64";
+ "i64:64:64-n32:64";
}
};
} // end anonymous namespace.
SizeType = PtrDiffType = IntPtrType = TargetInfo::UnsignedInt;
DescriptionString
= "e-p:32:32:32-i64:64:64"
- "-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"
+ "-v16:16:16-v32:32:32-"
"n16:32:64";
}
};
SizeType = PtrDiffType = IntPtrType = TargetInfo::UnsignedLongLong;
DescriptionString
= "e-p:64:64:64-i64:64:64"
- "-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"
+ "-v16:16:16-v32:32:32-"
"n16:32: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"
+ "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
"-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
"-n32: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"
+ "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
"-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
"-n32:64";
"-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"
+ "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
"-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
"-n32:64";
LongDoubleAlign = 32;
SuitableAlign = 128;
DescriptionString = "e-p:32:32:32"
- "-f64:32:64-v64:64:64-v128:128:128-"
+ "-f64:32:64-"
"a:0:64-f80:32:32-n8:16:32-S128";
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
SizeType = UnsignedLong;
IntPtrType = SignedLong;
DescriptionString = "e-p:32:32:32"
- "-f64:32:64-v64:64:64-v128:128:128-"
+ "-f64:32:64-"
"a:0:64-f80:128:128-n8:16:32-S128";
HasAlignMac68kSupport = true;
}
WCharType = UnsignedShort;
DoubleAlign = LongLongAlign = 64;
DescriptionString = "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";
+ "i64:64:64-f80:128:128-"
+ "a:0:64-f80:32:32-n8:16:32-S32";
}
virtual void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
WCharType = UnsignedShort;
DoubleAlign = LongLongAlign = 64;
DescriptionString = "e-p:32:32:32-"
- "i64:64:64-v64:64:64-v128:128:128-"
+ "i64:64:64-"
"a:0:64-f80:32:32-n8:16:32-S32";
}
virtual void getTargetDefines(const LangOptions &Opts,
RegParmMax = 6;
DescriptionString = "e-p:64:64:64-"
- "i64:64:64-v64:64:64-v128:128:128-"
+ "i64:64:64-"
"a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128";
// Use fpret only for long double.
// 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-"
- "v64:64:64-v128:64:128-a:0:32-n32-S64");
+ "v128:64:128-a:0:32-n32-S64");
} else {
DescriptionString = ("e-p:32:32:32-"
"i64:64:64-"
- "v64:64:64-v128:64:128-a:0:64-n32-S64");
+ "v128:64:128-a:0:64-n32-S64");
}
// ARM targets default to using the ARM C++ ABI.
SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
// FIXME: Support Sparc quad-precision long double?
DescriptionString = "E-p:32:32:32-"
- "i64:64:64-v64:64:64-n32-S64";
+ "i64:64:64-n32-S64";
}
virtual void getTargetDefines(const LangOptions &Opts,
SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
// FIXME: Support Sparc quad-precision long double?
DescriptionString = "E-p:64:64:64-"
- "i64:64:64-v64:64:64-n32:64-S128";
+ "i64:64:64-n32:64-S128";
// This is an LP64 platform.
LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
class Mips32EBTargetInfo : public Mips32TargetInfoBase {
virtual void setDescriptionString() {
DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"
- "i64:64:64-v64:64:64-n32-S64";
+ "i64:64:64-n32-S64";
}
public:
class Mips32ELTargetInfo : public Mips32TargetInfoBase {
virtual void setDescriptionString() {
DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"
- "i64:64:64-v64:64:64-n32-S64";
+ "i64:64:64-n32-S64";
}
public:
if (ABI == "n32")
DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"
"i64:64:64-f128:128:128-"
- "v64:64:64-n32:64-S128";
+ "n32:64-S128";
else
DescriptionString = "E-p:64:64:64-i8:8:32-i16:16:32-"
"i64:64:64-f128:128:128-"
- "v64:64:64-n32:64-S128";
+ "n32:64-S128";
}
if (ABI == "n32")
DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"
"i64:64:64-f128:128:128"
- "-v64:64:64-n32:64-S128";
+ "-n32:64-S128";
else
DescriptionString = "e-p:64:64:64-i8:8:32-i16:16:32-"
"i64:64:64-f128:128:128-"
- "v64:64:64-n32:64-S128";
+ "n32:64-S128";
}
public:
Mips64ELTargetInfo(const llvm::Triple &Triple)
DescriptionString
= "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-"
+ "v96:128:128-v192:256:256-v256:256:256-"
"v512:512:512-v1024:1024:1024";
}
virtual void getTargetDefines(const LangOptions &Opts,
DescriptionString
= "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-"
+ "v96:128:128-v192:256:256-v256:256:256-"
"v512:512:512-v1024:1024:1024";
}
virtual void getTargetDefines(const LangOptions &Opts,
// 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-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-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-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-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-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-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-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-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-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-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
// 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-v64:64:64-n32-S64"
+// SPARC-V8: target datalayout = "E-p:32:32:32-i64: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-v64:64:64-n32:64-S128"
+// SPARC-V9: target datalayout = "E-p:64:64:64-i64: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-v64:64:64-n32-S64"
+// MIPS-32EL: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64: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-v64:64:64-n32-S64"
+// MIPS-32EB: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64: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-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-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-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-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-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-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-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-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-v128:128:128-n32"
+// PS3: target datalayout = "E-p:32:32:32-i64:64:64-n32"
// RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=NACL
// 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-v128:128:128-n32"
+// PPC: target datalayout = "E-p:32:32:32-i64:64:64-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-v128:128:128-n32:64"
+// PPC64-FREEBSD: target datalayout = "E-p:64:64:64-i64:64: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-p:64:64:64-i64: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-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-v128:128:128-n32"
+// PPC32-DARWIN: target datalayout = "E-p:32:32:32-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-v128:128:128-n32:64"
+// PPC64-DARWIN: target datalayout = "E-p:64:64:64-i64:64:64-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-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-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-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-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-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-v96: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-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-v96: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-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-v96: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
// 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-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-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-v64:64:64-v128:64:128-a:0:64-n32-S64"
+// ARM: target datalayout = "e-p:32:32:32-i64: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
// 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-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-v96: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-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-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"