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

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


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

>From bee37f7ae2f1940f39075ff7aee82221337c064d 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 34f4b17a3855e..db8eaf805cfb2 100644
--- a/llvm/lib/TargetParser/Host.cpp
+++ b/llvm/lib/TargetParser/Host.cpp
@@ -1752,6 +1752,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;
@@ -1812,13 +1816,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 d1d20107503d7930e426df14f107f97ac9bd01ea 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 db8eaf805cfb2..9557aa41a4326 100644
--- a/llvm/lib/TargetParser/Host.cpp
+++ b/llvm/lib/TargetParser/Host.cpp
@@ -1820,10 +1820,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