me
/
guix
Archived
1
0
Fork 0

guix: cpu: Autodetect the x86-64-v4 microarchitecture.

* guix/cpu.scm (gcc-architecture->micro-architecture-level): Sort
gcc-architectures which have AVX512F support into x86-64-v4.

Change-Id: I8af0ceb692eefec7433e1fd5149379244da799c4
master
Efraim Flashner 2024-03-04 13:59:49 +02:00
parent b9f87817a1
commit 5dce7964ef
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 8 additions and 5 deletions

View File

@ -296,14 +296,17 @@ correspond roughly to CPU, a record as returned by 'current-cpu'."
"Return a matching psABI micro-architecture, allowing optimizations for x86_64 "Return a matching psABI micro-architecture, allowing optimizations for x86_64
CPUs for compilers which don't allow for more focused optimizing." CPUs for compilers which don't allow for more focused optimizing."
;; Matching gcc-architectures isn't an easy task, with the rule-of-thumb being ;; Matching gcc-architectures isn't an easy task, with the rule-of-thumb being
;; 'Haswell and higher' qualify for x86_64-v3. ;; AVX512F+ for x86_64-v4, AVX+ for x86_64-v3.
;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex ;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex
(match gcc-architecture (match gcc-architecture
((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids" ((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids"
"cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" "knl" "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm"
"skylake-avx512" "pantherlake" "clearwaterforest" "arrowlake-s" "knl" "skylake-avx512"
"sierraforest" "alderlake" "skylake" "broadwell" "haswell" "znver4")
"znver4" "znver3" "znver2" "znver1" "bdver4") "x86_64-v4")
((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest"
"alderlake" "skylake" "broadwell" "haswell"
"znver3" "znver2" "znver1" "bdver4")
"x86_64-v3") "x86_64-v3")
((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont" ((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont"
"nehalem" "bonnell" "core2" "nehalem" "bonnell" "core2"