diff options
| author | James Molloy <james.molloy@arm.com> | 2014-04-30 10:11:40 +0000 |
|---|---|---|
| committer | James Molloy <james.molloy@arm.com> | 2014-04-30 10:11:40 +0000 |
| commit | fa40368d9d83d676d8d520dce4d297277efe6b03 (patch) | |
| tree | c0c98679e9903559f1c965c5be30085cfb6783cb | |
| parent | c7ce72c9f22005bfdf17b77a85de6f8b1c7b7e09 (diff) | |
| download | bcm5719-llvm-fa40368d9d83d676d8d520dce4d297277efe6b03.tar.gz bcm5719-llvm-fa40368d9d83d676d8d520dce4d297277efe6b03.zip | |
[ARM64] Add arm64_be where it was accidentally missed from a bunch of if-conditions.
I think this is the last commit for ARM64 big endian in clang. This commit makes
arm_neon.h compile correctly.
llvm-svn: 207624
| -rw-r--r-- | clang/lib/AST/ItaniumMangle.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaType.cpp | 6 |
4 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index 0e332a6f2de..f7dbf09d152 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -2298,6 +2298,7 @@ void CXXNameMangler::mangleType(const VectorType *T) { getASTContext().getTargetInfo().getTriple().getArch(); if (Arch == llvm::Triple::aarch64 || Arch == llvm::Triple::aarch64_be || + Arch == llvm::Triple::arm64_be || (Arch == llvm::Triple::arm64 && !Target.isOSDarwin())) mangleAArch64NeonVectorType(T); else diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index d8e363387b0..25f26aeff6e 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -1646,6 +1646,7 @@ Value *CodeGenFunction::EmitTargetBuiltinExpr(unsigned BuiltinID, case llvm::Triple::thumbeb: return EmitARMBuiltinExpr(BuiltinID, E); case llvm::Triple::arm64: + case llvm::Triple::arm64_be: return EmitARM64BuiltinExpr(BuiltinID, E); case llvm::Triple::x86: case llvm::Triple::x86_64: diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 6c84b974c41..526f891f87e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -310,6 +310,7 @@ Sema::CheckBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) { return ExprError(); break; case llvm::Triple::arm64: + case llvm::Triple::arm64_be: if (CheckARM64BuiltinFunctionCall(BuiltinID, TheCall)) return ExprError(); break; diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp index e273cb6e364..b8a1a3851ca 100644 --- a/clang/lib/Sema/SemaType.cpp +++ b/clang/lib/Sema/SemaType.cpp @@ -4731,7 +4731,8 @@ static bool isPermittedNeonBaseType(QualType &Ty, // now. bool IsPolyUnsigned = Triple.getArch() == llvm::Triple::aarch64 || Triple.getArch() == llvm::Triple::aarch64_be || - Triple.getArch() == llvm::Triple::arm64; + Triple.getArch() == llvm::Triple::arm64 || + Triple.getArch() == llvm::Triple::arm64_be; if (VecKind == VectorType::NeonPolyVector) { if (IsPolyUnsigned) { // AArch64 polynomial vectors are unsigned and support poly64. @@ -4750,7 +4751,8 @@ static bool isPermittedNeonBaseType(QualType &Ty, // float64_t on AArch64. bool Is64Bit = Triple.getArch() == llvm::Triple::aarch64 || Triple.getArch() == llvm::Triple::aarch64_be || - Triple.getArch() == llvm::Triple::arm64; + Triple.getArch() == llvm::Triple::arm64 || + Triple.getArch() == llvm::Triple::arm64_be; if (Is64Bit && BTy->getKind() == BuiltinType::Double) return true; |

