From: James Molloy Date: Mon, 14 Apr 2014 17:37:53 +0000 (+0000) Subject: [ARM64] Add big endian target arm64_be. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1f1bced6e77c7dfcdcb3e719cbee8a61312305e8;p=oota-llvm.git [ARM64] Add big endian target arm64_be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206197 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h index a8739650f4e..5008962994a 100644 --- a/include/llvm/ADT/Triple.h +++ b/include/llvm/ADT/Triple.h @@ -48,7 +48,8 @@ public: arm, // ARM (little endian): arm, armv.*, xscale armeb, // ARM (big endian): armeb - arm64, // ARM: arm64 + arm64, // ARM64 (little endian): arm64 + arm64_be, // ARM64 (big endian): arm64_be aarch64, // AArch64 (little endian): aarch64 aarch64_be, // AArch64 (big endian): aarch64_be hexagon, // Hexagon: hexagon diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index e65d02b52f4..b3d48fb537a 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -24,6 +24,7 @@ const char *Triple::getArchTypeName(ArchType Kind) { case arm: return "arm"; case armeb: return "armeb"; case arm64: return "arm64"; + case arm64_be: return "arm64_be"; case hexagon: return "hexagon"; case mips: return "mips"; case mipsel: return "mipsel"; @@ -67,7 +68,8 @@ const char *Triple::getArchTypePrefix(ArchType Kind) { case thumb: case thumbeb: return "arm"; - case arm64: return "arm64"; + case arm64: + case arm64_be: return "arm64"; case ppc64: case ppc64le: @@ -178,6 +180,7 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) { .Case("arm", arm) .Case("armeb", armeb) .Case("arm64", arm64) + .Case("arm64_be", arm64_be) .Case("mips", mips) .Case("mipsel", mipsel) .Case("mips64", mips64) @@ -225,6 +228,7 @@ const char *Triple::getArchNameForAssembler() { .Cases("armv7", "thumbv7", "armv7") .Case("armeb", "armeb") .Case("arm64", "arm64") + .Case("arm64_be", "arm64") .Case("r600", "r600") .Case("nvptx", "nvptx") .Case("nvptx64", "nvptx64") @@ -257,6 +261,7 @@ static Triple::ArchType parseArch(StringRef ArchName) { .Case("thumbeb", Triple::thumbeb) .StartsWith("thumbebv", Triple::thumbeb) .Case("arm64", Triple::arm64) + .Case("arm64_be", Triple::arm64_be) .Case("msp430", Triple::msp430) .Cases("mips", "mipseb", "mipsallegrex", Triple::mips) .Cases("mipsel", "mipsallegrexel", Triple::mipsel) @@ -797,6 +802,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) { return 32; case llvm::Triple::arm64: + case llvm::Triple::arm64_be: case llvm::Triple::aarch64: case llvm::Triple::aarch64_be: case llvm::Triple::mips64: @@ -832,6 +838,7 @@ Triple Triple::get32BitArchVariant() const { case Triple::aarch64: case Triple::aarch64_be: case Triple::arm64: + case Triple::arm64_be: case Triple::msp430: case Triple::systemz: case Triple::ppc64le: @@ -899,6 +906,7 @@ Triple Triple::get64BitArchVariant() const { case Triple::systemz: case Triple::x86_64: case Triple::arm64: + case Triple::arm64_be: // Already 64-bit. break;