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
This commit is contained in:
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

View file

@ -296,14 +296,17 @@ (define (gcc-architecture->micro-architecture-level gcc-architecture)
"Return a matching psABI micro-architecture, allowing optimizations for x86_64
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
;; '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
(match gcc-architecture
((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids"
"cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" "knl"
"skylake-avx512" "pantherlake" "clearwaterforest" "arrowlake-s"
"sierraforest" "alderlake" "skylake" "broadwell" "haswell"
"znver4" "znver3" "znver2" "znver1" "bdver4")
"cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm"
"knl" "skylake-avx512"
"znver4")
"x86_64-v4")
((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest"
"alderlake" "skylake" "broadwell" "haswell"
"znver3" "znver2" "znver1" "bdver4")
"x86_64-v3")
((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont"
"nehalem" "bonnell" "core2"