aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-03-06 09:19:56 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-03-07 13:04:27 +0200
commitcae9e9db329ff13188ef98bd062a7d5b6b5e5a99 (patch)
tree7b1ee28a463d119f7c113b19e36138989d8fa60c
parent7700dc2cf5e1ada04a6fbcbffbe150f8274ab502 (diff)
downloadguix-cae9e9db329ff13188ef98bd062a7d5b6b5e5a99.tar
guix-cae9e9db329ff13188ef98bd062a7d5b6b5e5a99.tar.gz
cpu: Enable tuning for i686-linux.
* gnu/packages/gcc.scm (gcc-7, gcc-10, gcc-11, gcc-12, gcc-13) [properties]: In compiler-cpu-architectures use the x86_64-micro-architectures list for i686. * guix/cpu.scm (cpu->gcc-architecture): Expand the x86_64 case to also support i686. Change-Id: I0b820ceb715960db5e702814fa278dc8c619a836
-rw-r--r--gnu/packages/gcc.scm5
-rw-r--r--guix/cpu.scm6
2 files changed, 9 insertions, 2 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 3555d12c44..c8902de6a0 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -673,6 +673,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
("armhf" ,@%gcc-7.5-armhf-micro-architectures)
+ ("i686" ,@%gcc-7.5-x86_64-micro-architectures)
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))
,@(package-properties gcc-6)))))
@@ -729,6 +730,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-10-aarch64-micro-architectures)
("armhf" ,@%gcc-10-armhf-micro-architectures)
+ ("i686" ,@%gcc-10-x86_64-micro-architectures)
("x86_64" ,@%gcc-10-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@@ -764,6 +766,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-11-aarch64-micro-architectures)
("armhf" ,@%gcc-11-armhf-micro-architectures)
+ ("i686" ,@%gcc-11-x86_64-micro-architectures)
("x86_64" ,@%gcc-11-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@@ -786,6 +789,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-12-aarch64-micro-architectures)
("armhf" ,@%gcc-12-armhf-micro-architectures)
+ ("i686" ,@%gcc-12-x86_64-micro-architectures)
("x86_64" ,@%gcc-12-x86_64-micro-architectures))
,@(package-properties gcc-11)))))
@@ -808,6 +812,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-13-aarch64-micro-architectures)
("armhf" ,@%gcc-13-armhf-micro-architectures)
+ ("i686" ,@%gcc-13-x86_64-micro-architectures)
("x86_64" ,@%gcc-13-x86_64-micro-architectures))
,@(package-properties gcc-11)))))
diff --git a/guix/cpu.scm b/guix/cpu.scm
index 6f9e8daa61..840215cff0 100644
--- a/guix/cpu.scm
+++ b/guix/cpu.scm
@@ -113,7 +113,7 @@
"Return the architecture name, suitable for GCC's '-march' flag, that
corresponds to CPU, a record as returned by 'current-cpu'."
(match (cpu-architecture cpu)
- ("x86_64"
+ ((or "x86_64" "i686")
;; Transcribed from GCC's 'host_detect_local_cpu' in driver-i386.cc.
(letrec-syntax ((if-flags (syntax-rules (=>)
((_)
@@ -200,7 +200,9 @@ corresponds to CPU, a record as returned by 'current-cpu'."
;; TODO: Recognize CENTAUR/CYRIX/NSC?
- "x86-64")))
+ (match (cpu-architecture cpu)
+ ("x86_64" "x86-64")
+ (_ "generic")))))
("aarch64"
;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
;; What to do with big.LITTLE cores?