[PATCH] D94954: Fixes Snapdragon Kryo CPU core detection

Ryan Houdek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 19 01:39:51 PST 2021


Sonicadvance1 created this revision.
Sonicadvance1 added a reviewer: LLVM.
Herald added subscribers: dexonsmith, hiraditya.
Sonicadvance1 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

  All of these families were claiming to be a73 based, which was causing
  -mcpu/mtune=native to never use the newer features available to these
  cores.
  
  Goes through each and bumps the individual cores to their respective Big
  counterparts. Since this code path doesn't support big.little detection,
  there was already a precedent set with the Qualcomm line to choose the
  big cores only.
  
  Adds a comment on each line for the product's name that the part number
  refers to. Confirmed on-device and through Linux header naming
  convections.
  
  Doubly the problem comes down to only reading 32 lines from
  /proc/cpuinfo, which means that this routine only ever sees the little
  cores anyway. This is outside of the scope of this commit to fix.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94954

Files:
  llvm/lib/Support/Host.cpp


Index: llvm/lib/Support/Host.cpp
===================================================================
--- llvm/lib/Support/Host.cpp
+++ llvm/lib/Support/Host.cpp
@@ -270,12 +270,12 @@
             .Case("0x201", "kryo")
             .Case("0x205", "kryo")
             .Case("0x211", "kryo")
-            .Case("0x800", "cortex-a73")
-            .Case("0x801", "cortex-a73")
-            .Case("0x802", "cortex-a73")
-            .Case("0x803", "cortex-a73")
-            .Case("0x804", "cortex-a73")
-            .Case("0x805", "cortex-a73")
+            .Case("0x800", "cortex-a73") // Kryo 2xx Gold
+            .Case("0x801", "cortex-a73") // Kryo 2xx Silver
+            .Case("0x802", "cortex-a75") // Kryo 3xx Gold
+            .Case("0x803", "cortex-a75") // Kryo 3xx Silver
+            .Case("0x804", "cortex-a76") // Kryo 4xx Gold
+            .Case("0x805", "cortex-a76") // Kryo 4xx/5xx Silver
             .Case("0xc00", "falkor")
             .Case("0xc01", "saphira")
             .Default("generic");


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94954.317487.patch
Type: text/x-patch
Size: 1018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210119/05d97177/attachment.bin>


More information about the llvm-commits mailing list