me
/
guix
Archived
1
0
Fork 0

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
master
Efraim Flashner 2024-03-06 09:19:56 +02:00
parent 7700dc2cf5
commit cae9e9db32
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
2 changed files with 9 additions and 2 deletions

View File

@ -673,6 +673,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures `((compiler-cpu-architectures
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures) ("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
("armhf" ,@%gcc-7.5-armhf-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)) ("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))
,@(package-properties gcc-6))))) ,@(package-properties gcc-6)))))
@ -729,6 +730,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures `((compiler-cpu-architectures
("aarch64" ,@%gcc-10-aarch64-micro-architectures) ("aarch64" ,@%gcc-10-aarch64-micro-architectures)
("armhf" ,@%gcc-10-armhf-micro-architectures) ("armhf" ,@%gcc-10-armhf-micro-architectures)
("i686" ,@%gcc-10-x86_64-micro-architectures)
("x86_64" ,@%gcc-10-x86_64-micro-architectures)) ("x86_64" ,@%gcc-10-x86_64-micro-architectures))
,@(package-properties gcc-8))))) ,@(package-properties gcc-8)))))
@ -764,6 +766,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures `((compiler-cpu-architectures
("aarch64" ,@%gcc-11-aarch64-micro-architectures) ("aarch64" ,@%gcc-11-aarch64-micro-architectures)
("armhf" ,@%gcc-11-armhf-micro-architectures) ("armhf" ,@%gcc-11-armhf-micro-architectures)
("i686" ,@%gcc-11-x86_64-micro-architectures)
("x86_64" ,@%gcc-11-x86_64-micro-architectures)) ("x86_64" ,@%gcc-11-x86_64-micro-architectures))
,@(package-properties gcc-8))))) ,@(package-properties gcc-8)))))
@ -786,6 +789,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures `((compiler-cpu-architectures
("aarch64" ,@%gcc-12-aarch64-micro-architectures) ("aarch64" ,@%gcc-12-aarch64-micro-architectures)
("armhf" ,@%gcc-12-armhf-micro-architectures) ("armhf" ,@%gcc-12-armhf-micro-architectures)
("i686" ,@%gcc-12-x86_64-micro-architectures)
("x86_64" ,@%gcc-12-x86_64-micro-architectures)) ("x86_64" ,@%gcc-12-x86_64-micro-architectures))
,@(package-properties gcc-11))))) ,@(package-properties gcc-11)))))
@ -808,6 +812,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures `((compiler-cpu-architectures
("aarch64" ,@%gcc-13-aarch64-micro-architectures) ("aarch64" ,@%gcc-13-aarch64-micro-architectures)
("armhf" ,@%gcc-13-armhf-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures)
("i686" ,@%gcc-13-x86_64-micro-architectures)
("x86_64" ,@%gcc-13-x86_64-micro-architectures)) ("x86_64" ,@%gcc-13-x86_64-micro-architectures))
,@(package-properties gcc-11))))) ,@(package-properties gcc-11)))))

View File

@ -113,7 +113,7 @@
"Return the architecture name, suitable for GCC's '-march' flag, that "Return the architecture name, suitable for GCC's '-march' flag, that
corresponds to CPU, a record as returned by 'current-cpu'." corresponds to CPU, a record as returned by 'current-cpu'."
(match (cpu-architecture cpu) (match (cpu-architecture cpu)
("x86_64" ((or "x86_64" "i686")
;; Transcribed from GCC's 'host_detect_local_cpu' in driver-i386.cc. ;; Transcribed from GCC's 'host_detect_local_cpu' in driver-i386.cc.
(letrec-syntax ((if-flags (syntax-rules (=>) (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? ;; TODO: Recognize CENTAUR/CYRIX/NSC?
"x86-64"))) (match (cpu-architecture cpu)
("x86_64" "x86-64")
(_ "generic")))))
("aarch64" ("aarch64"
;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
;; What to do with big.LITTLE cores? ;; What to do with big.LITTLE cores?