~ruther/guix-local

cae9e9db329ff13188ef98bd062a7d5b6b5e5a99 — Efraim Flashner 2 years ago 7700dc2
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
2 files changed, 9 insertions(+), 2 deletions(-)

M gnu/packages/gcc.scm
M guix/cpu.scm
M gnu/packages/gcc.scm => gnu/packages/gcc.scm +5 -0
@@ 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)))))


M guix/cpu.scm => guix/cpu.scm +4 -2
@@ 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?