summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support/Host.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Support/Host.cpp')
-rw-r--r--llvm/unittests/Support/Host.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/llvm/unittests/Support/Host.cpp b/llvm/unittests/Support/Host.cpp
index 10f883e6d2c..0d22ba8ca79 100644
--- a/llvm/unittests/Support/Host.cpp
+++ b/llvm/unittests/Support/Host.cpp
@@ -38,3 +38,47 @@ TEST_F(HostTest, NumPhysicalCores) {
else
ASSERT_EQ(Num, -1);
}
+
+TEST(getLinuxHostCPUName, ARM) {
+ StringRef CortexA9ProcCpuinfo = R"(
+processor : 0
+model name : ARMv7 Processor rev 10 (v7l)
+BogoMIPS : 1393.66
+Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
+CPU implementer : 0x41
+CPU architecture: 7
+CPU variant : 0x2
+CPU part : 0xc09
+CPU revision : 10
+
+processor : 1
+model name : ARMv7 Processor rev 10 (v7l)
+BogoMIPS : 1393.66
+Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
+CPU implementer : 0x41
+CPU architecture: 7
+CPU variant : 0x2
+CPU part : 0xc09
+CPU revision : 10
+
+Hardware : Generic OMAP4 (Flattened Device Tree)
+Revision : 0000
+Serial : 0000000000000000
+)";
+
+ EXPECT_EQ(sys::LinuxReadCpuInfo::getHostCPUName_arm(CortexA9ProcCpuinfo),
+ "cortex-a9");
+ EXPECT_EQ(
+ sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x41\n"
+ "CPU part : 0xc0f"),
+ "cortex-a15");
+ // Verify that both CPU implementer and CPU part are checked:
+ EXPECT_EQ(
+ sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x40\n"
+ "CPU part : 0xc0f"),
+ "generic");
+ EXPECT_EQ(
+ sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x51\n"
+ "CPU part : 0x06f"),
+ "krait");
+}
OpenPOWER on IntegriCloud