From a41fddafbb5f5881d9eee85193a6e4211a7ea401 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Feb 04 2010 03:26:53 +0000 Subject: add sparc patch --- diff --git a/atlas-sparc-linux.patch b/atlas-sparc-linux.patch new file mode 100644 index 0000000..d865a0f --- /dev/null +++ b/atlas-sparc-linux.patch @@ -0,0 +1,95 @@ +diff -uNr ATLAS.orig/CONFIG/src/backend/archinfo_linux.c ATLAS/CONFIG/src/backend/archinfo_linux.c +--- ATLAS.orig/CONFIG/src/backend/archinfo_linux.c 2010-02-01 23:28:58.000000000 +0000 ++++ ATLAS/CONFIG/src/backend/archinfo_linux.c 2010-02-02 22:38:31.000000000 +0000 +@@ -145,14 +145,12 @@ + * Add these back if we get machine access and can test + */ + case AFSPARC: /* don't know here anymore */ +- #if 0 + if ( !CmndOneLine(NULL, "fgrep cpu /proc/cpuinfo", res) ) + { +- if (strstr(res, "UltraSparc II")) mach = SunUS2; +- else if (strstr(res, "UltraSparc I")) mach = SunUS1; +- else if (strstr(res, "UltraSparc")) mach = SunUSX; ++ if (strstr(res, "UltraSparc II")) mach = SunUSII; ++ else if (strstr(res, "UltraSparc I")) mach = SunUSI; ++ else if (strstr(res, "UltraSparc")) mach = SunUSII; + } +- #endif + break; + case AFALPHA: + #if 0 +@@ -196,6 +194,11 @@ + reslns = CmndResults(NULL, "grep '^processor' /proc/cpuinfo"); + if (reslns) ncpu = fNumLines(reslns); + } ++ if (__sparc__) ++ { ++ reslns = CmndResults(NULL, "grep '^CPU.*online' /proc/cpuinfo"); ++ if (reslns) ncpu = fNumLines(reslns); ++ } + return(ncpu); + } + +diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c +--- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2010-02-01 23:29:23.000000000 +0000 ++++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2010-02-01 23:30:07.000000000 +0000 +@@ -95,6 +95,11 @@ + #define incBm %g3 + #define incBn %g4 + ++#if defined(__sparc__) && defined(__arch64__) ++ .register %g2, #scratch ++ .register %g3, #scratch ++#endif ++ + #ifdef DCPLX + #define incCm 64 + #define CSH 4 +diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c +--- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c 2010-02-01 23:29:24.000000000 +0000 ++++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c 2010-02-01 23:30:08.000000000 +0000 +@@ -135,6 +135,11 @@ + #define pfB %i2 /* aliased with ldab */ + #endif + ++#if defined(__sparc__) && defined(__arch64__) ++ .register %g2, #scratch ++ .register %g3, #scratch ++#endif ++ + #ifdef DCPLX + #define CMUL(arg_) ((arg_)*2) + #define incCm 64 +diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c +--- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2010-02-01 23:29:25.000000000 +0000 ++++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2010-02-01 23:30:09.000000000 +0000 +@@ -93,6 +93,12 @@ + #define rC23 %f30 + #define rC33 %f31 + #define FSIZE 64 ++ ++#if defined(__sparc__) && defined(__arch64__) ++ .register %g2, #scratch ++ .register %g3, #scratch ++#endif ++ + #ifdef SCPLX + #define CSH 3 + #define CMUL(arg_) ((arg_)*2) +diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c +--- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c 2010-02-01 23:29:25.000000000 +0000 ++++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c 2010-02-01 23:30:09.000000000 +0000 +@@ -108,6 +108,12 @@ + #define rC23 %f30 + #define rC33 %f31 + #define FSIZE 64 ++ ++#if defined(__sparc__) && defined(__arch64__) ++ .register %g2, #scratch ++ .register %g3, #scratch ++#endif ++ + #ifdef SCPLX + #define CSH 3 + #define CMUL(arg_) ((arg_)*2)