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