diff options
author | Kazushi (Jam) Marukawa <marukawa@nec.com> | 2020-01-09 09:59:37 +0100 |
---|---|---|
committer | Simon Moll <simon.moll@emea.nec.com> | 2020-01-09 11:17:35 +0100 |
commit | 00c6e98409f98c3093aab4b1bfbc25c5b54731d0 (patch) | |
tree | 9372154b42fa8f311ab43f519ab6ffbbe2fad532 /llvm/lib/Support/Triple.cpp | |
parent | f0abe820eebf47a3e9b9d0daf9f995d65db186bc (diff) | |
download | bcm5719-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.cpp | 11 |
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; |