summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Triple.cpp
diff options
context:
space:
mode:
authorKazushi (Jam) Marukawa <marukawa@nec.com>2020-01-09 09:59:37 +0100
committerSimon Moll <simon.moll@emea.nec.com>2020-01-09 11:17:35 +0100
commit00c6e98409f98c3093aab4b1bfbc25c5b54731d0 (patch)
tree9372154b42fa8f311ab43f519ab6ffbbe2fad532 /llvm/lib/Support/Triple.cpp
parentf0abe820eebf47a3e9b9d0daf9f995d65db186bc (diff)
downloadbcm5719-llvm-00c6e98409f98c3093aab4b1bfbc25c5b54731d0.tar.gz
bcm5719-llvm-00c6e98409f98c3093aab4b1bfbc25c5b54731d0.zip
[VE] Target stub for NEC SX-Aurora
Summary: This patch registers the 've' target: the NEC SX-Aurora TSUBASA Vector Engine. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D69103
Diffstat (limited to 'llvm/lib/Support/Triple.cpp')
-rw-r--r--llvm/lib/Support/Triple.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
index f2debc443d2..2af9ec7b9bc 100644
--- a/llvm/lib/Support/Triple.cpp
+++ b/llvm/lib/Support/Triple.cpp
@@ -70,6 +70,7 @@ StringRef Triple::getArchTypeName(ArchType Kind) {
case wasm64: return "wasm64";
case renderscript32: return "renderscript32";
case renderscript64: return "renderscript64";
+ case ve: return "ve";
}
llvm_unreachable("Invalid ArchType!");
@@ -144,6 +145,8 @@ StringRef Triple::getArchTypePrefix(ArchType Kind) {
case riscv32:
case riscv64: return "riscv";
+
+ case ve: return "ve";
}
}
@@ -313,6 +316,7 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) {
.Case("wasm64", wasm64)
.Case("renderscript32", renderscript32)
.Case("renderscript64", renderscript64)
+ .Case("ve", ve)
.Default(UnknownArch);
}
@@ -441,6 +445,7 @@ static Triple::ArchType parseArch(StringRef ArchName) {
.Case("wasm64", Triple::wasm64)
.Case("renderscript32", Triple::renderscript32)
.Case("renderscript64", Triple::renderscript64)
+ .Case("ve", Triple::ve)
.Default(Triple::UnknownArch);
// Some architectures require special parsing logic just to compute the
@@ -700,6 +705,7 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
case Triple::tcele:
case Triple::thumbeb:
case Triple::xcore:
+ case Triple::ve:
return Triple::ELF;
case Triple::ppc:
@@ -1283,6 +1289,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) {
case llvm::Triple::spir64:
case llvm::Triple::wasm64:
case llvm::Triple::renderscript64:
+ case llvm::Triple::ve:
return 64;
}
llvm_unreachable("Invalid architecture value");
@@ -1311,6 +1318,7 @@ Triple Triple::get32BitArchVariant() const {
case Triple::msp430:
case Triple::systemz:
case Triple::ppc64le:
+ case Triple::ve:
T.setArch(UnknownArch);
break;
@@ -1403,6 +1411,7 @@ Triple Triple::get64BitArchVariant() const {
case Triple::x86_64:
case Triple::wasm64:
case Triple::renderscript64:
+ case Triple::ve:
// Already 64-bit.
break;
@@ -1461,6 +1470,7 @@ Triple Triple::getBigEndianArchVariant() const {
case Triple::xcore:
case Triple::renderscript32:
case Triple::renderscript64:
+ case Triple::ve:
// ARM is intentionally unsupported here, changing the architecture would
// drop any arch suffixes.
@@ -1552,6 +1562,7 @@ bool Triple::isLittleEndian() const {
case Triple::tcele:
case Triple::renderscript32:
case Triple::renderscript64:
+ case Triple::ve:
return true;
default:
return false;
OpenPOWER on IntegriCloud