From 66732aeff2aba2899b6c128d73a27c6ed271acc8 Mon Sep 17 00:00:00 2001 From: Kai Nacke Date: Fri, 20 Dec 2013 09:24:13 +0000 Subject: [PATCH] Add support for krait cpu in llvm::sys::getHostCPUName() Recently, support for krait cpu was added. This commit extends getHostCPUName() to return krait as cpu for the APQ8064 (a Krait 300). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197792 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Host.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp index c5f9c872480..b6e2cb164d4 100644 --- a/lib/Support/Host.cpp +++ b/lib/Support/Host.cpp @@ -620,6 +620,17 @@ StringRef sys::getHostCPUName() { .Case("0xc24", "cortex-m4") .Default("generic"); + if (Implementer == "0x51") // Qualcomm Technologies, Inc. + // Look for the CPU part line. + for (unsigned I = 0, E = Lines.size(); I != E; ++I) + if (Lines[I].startswith("CPU part")) + // The CPU part is a 3 digit hexadecimal number with a 0x prefix. The + // values correspond to the "Part number" in the CP15/c0 register. The + // contents are specified in the various processor manuals. + return StringSwitch(Lines[I].substr(8).ltrim("\t :")) + .Case("0x06f", "krait") // APQ8064 + .Default("generic"); + return "generic"; } #elif defined(__linux__) && defined(__s390x__)