diff --git a/llvm/include/llvm/Object/MachOFormat.h b/llvm/include/llvm/Object/MachOFormat.h index a17d58dae2347ca3b2c38dc3aa7e10f9dc8834cc..001cb6540af82d78be8a1d5d238d25d15e404bb1 100644 --- a/llvm/include/llvm/Object/MachOFormat.h +++ b/llvm/include/llvm/Object/MachOFormat.h @@ -64,7 +64,10 @@ namespace mach { CSARM_V7 = 9, CSARM_V7F = 10, CSARM_V7S = 11, - CSARM_V7K = 12 + CSARM_V7K = 12, + CSARM_V6M = 14, + CSARM_V7M = 15, + CSARM_V7EM = 16 }; /// \brief PowerPC Machine Subtypes. diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp index 1f1b334ea4225f62b59e19ff09f7d1a21ebcebb5..415dee3121536246f71cdd08c728de3b8d8ac9f4 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp @@ -672,12 +672,21 @@ MCAsmBackend *llvm::createARMAsmBackend(const Target &T, StringRef TT, StringRef else if (TheTriple.getArchName() == "armv6" || TheTriple.getArchName() == "thumbv6") return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V6); + else if (TheTriple.getArchName() == "armv6m" || + TheTriple.getArchName() == "thumbv6m") + return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V6M); + else if (TheTriple.getArchName() == "armv7em" || + TheTriple.getArchName() == "thumbv7em") + return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V7EM); else if (TheTriple.getArchName() == "armv7f" || TheTriple.getArchName() == "thumbv7f") return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V7F); else if (TheTriple.getArchName() == "armv7k" || TheTriple.getArchName() == "thumbv7k") return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V7K); + else if (TheTriple.getArchName() == "armv7m" || + TheTriple.getArchName() == "thumbv7m") + return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V7M); else if (TheTriple.getArchName() == "armv7s" || TheTriple.getArchName() == "thumbv7s") return new DarwinARMAsmBackend(T, TT, object::mach::CSARM_V7S);