[llvm] Add Apple M5 host detection (PR #200616)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 00:10:03 PDT 2026


https://github.com/xyloflake updated https://github.com/llvm/llvm-project/pull/200616

>From f7b2aa33f71c945dc54de1a3903feee0b16579b1 Mon Sep 17 00:00:00 2001
From: Xyloflake <xyloflake at gmail.com>
Date: Sun, 31 May 2026 06:05:14 +0530
Subject: [PATCH 1/2] Implement Apple M5 host detection

---
 llvm/lib/TargetParser/Host.cpp | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/TargetParser/Host.cpp b/llvm/lib/TargetParser/Host.cpp
index dfe97f178bd46..fd4f36c9bffa6 100644
--- a/llvm/lib/TargetParser/Host.cpp
+++ b/llvm/lib/TargetParser/Host.cpp
@@ -1711,6 +1711,10 @@ StringRef sys::getHostCPUName() {
 #define CPUFAMILY_ARM_BRAVA 0x17d5b93a
 #define CPUFAMILY_ARM_TAHITI 0x75d4acb9
 #define CPUFAMILY_ARM_TUPAI 0x204526d0
+#define CPUFAMILY_ARM_HIDRA 0x1d5a87e8
+#define CPUFAMILY_ARM_SOTRA 0xf76c5b1a
+#define CPUFAMILY_ARM_THERA 0xab345f09
+#define CPUFAMILY_ARM_TILOS 0x01d7a72b
 
 StringRef sys::getHostCPUName() {
   uint32_t Family;
@@ -1771,13 +1775,18 @@ StringRef sys::getHostCPUName() {
   case CPUFAMILY_ARM_COLL: // A17 Pro
     return "apple-a17";
   case CPUFAMILY_ARM_DONAN:  // M4
-  case CPUFAMILY_ARM_BRAVA:  // M4 Max
+  case CPUFAMILY_ARM_BRAVA:  // M4 Pro/Max
   case CPUFAMILY_ARM_TAHITI: // A18 Pro
   case CPUFAMILY_ARM_TUPAI:  // A18
     return "apple-m4";
+  case CPUFAMILY_ARM_HIDRA:  // M5
+  case CPUFAMILY_ARM_SOTRA:  // M5 Pro/Max
+  case CPUFAMILY_ARM_THERA:  // A19 Pro
+  case CPUFAMILY_ARM_TILOS:  // A19
+    return "apple-m5";
   default:
     // Default to the newest CPU we know about.
-    return "apple-m4";
+    return "apple-m5";
   }
 }
 #elif defined(_AIX)

>From d33b09f87a421f7ae624cd034cd7265e73928231 Mon Sep 17 00:00:00 2001
From: Xyloflake <xyloflake at gmail.com>
Date: Thu, 11 Jun 2026 07:09:44 +0000
Subject: [PATCH 2/2] fix formatting

---
 llvm/lib/TargetParser/Host.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/TargetParser/Host.cpp b/llvm/lib/TargetParser/Host.cpp
index fd4f36c9bffa6..968affee51f19 100644
--- a/llvm/lib/TargetParser/Host.cpp
+++ b/llvm/lib/TargetParser/Host.cpp
@@ -1779,10 +1779,10 @@ StringRef sys::getHostCPUName() {
   case CPUFAMILY_ARM_TAHITI: // A18 Pro
   case CPUFAMILY_ARM_TUPAI:  // A18
     return "apple-m4";
-  case CPUFAMILY_ARM_HIDRA:  // M5
-  case CPUFAMILY_ARM_SOTRA:  // M5 Pro/Max
-  case CPUFAMILY_ARM_THERA:  // A19 Pro
-  case CPUFAMILY_ARM_TILOS:  // A19
+  case CPUFAMILY_ARM_HIDRA: // M5
+  case CPUFAMILY_ARM_SOTRA: // M5 Pro/Max
+  case CPUFAMILY_ARM_THERA: // A19 Pro
+  case CPUFAMILY_ARM_TILOS: // A19
     return "apple-m5";
   default:
     // Default to the newest CPU we know about.



More information about the llvm-commits mailing list