summaryrefslogtreecommitdiff
path: root/Source/Core/Common/ArmCPUDetect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/ArmCPUDetect.cpp')
-rw-r--r--Source/Core/Common/ArmCPUDetect.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/Core/Common/ArmCPUDetect.cpp b/Source/Core/Common/ArmCPUDetect.cpp
index a603ff03fd..1cee6ad77b 100644
--- a/Source/Core/Common/ArmCPUDetect.cpp
+++ b/Source/Core/Common/ArmCPUDetect.cpp
@@ -8,6 +8,7 @@
#include <string>
#include <thread>
+#ifndef __APPLE__
#ifndef _WIN32
#ifndef __FreeBSD__
#include <asm/hwcap.h>
@@ -15,6 +16,7 @@
#include <sys/auxv.h>
#include <unistd.h>
#endif
+#endif
#include <fmt/format.h>
@@ -71,7 +73,17 @@ void CPUInfo::Detect()
vendor = CPUVendor::ARM;
bFlushToZero = true;
-#ifdef _WIN32
+#ifdef __APPLE__
+ num_cores = std::thread::hardware_concurrency();
+
+ // M-series CPUs have all of these
+ bFP = true;
+ bASIMD = true;
+ bAES = true;
+ bSHA1 = true;
+ bSHA2 = true;
+ bCRC32 = true;
+#elif defined(_WIN32)
num_cores = std::thread::hardware_concurrency();
// Windows does not provide any mechanism for querying the system registers on ARMv8, unlike Linux