aboutsummaryrefslogtreecommitdiff
path: root/guix/cpu.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-03-04 13:59:49 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-03-05 08:54:13 +0200
commit5dce7964ef7c368d421c5a0c8738be06ed57ea0e (patch)
treea4cf88194c8c7fe8eacdca477c2aaf40e9e86a64 /guix/cpu.scm
parentb9f87817a193a3ff4769602aa33e3e2f7776fa05 (diff)
downloadguix-5dce7964ef7c368d421c5a0c8738be06ed57ea0e.tar
guix-5dce7964ef7c368d421c5a0c8738be06ed57ea0e.tar.gz
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
Diffstat (limited to 'guix/cpu.scm')
-rw-r--r--guix/cpu.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/guix/cpu.scm b/guix/cpu.scm
index c5837ade7f..6891d9f266 100644
--- a/guix/cpu.scm
+++ b/guix/cpu.scm
@@ -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
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"