diff -uNr ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x16r8_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x16r8_US.c --- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x16r8_US.c 2009-01-26 21:20:44.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x16r8_US.c 2009-03-18 00:02:10.000000000 -0500 @@ -107,6 +107,11 @@ #define incBn %g4 #define pfB %g5 +#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_dmm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c --- ATLAS.orig/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2009-01-26 21:20:41.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x2_US.c 2009-03-18 00:02:20.000000000 -0500 @@ -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 2009-01-26 21:20:40.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_dmm4x4x8_US.c 2009-03-18 00:02:31.000000000 -0500 @@ -107,6 +107,11 @@ #define incBn %g4 #define pfB %g5 +#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_smm4x4x16_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x16_US.c --- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x16_US.c 2009-01-26 21:20:48.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x16_US.c 2009-03-18 00:03:02.000000000 -0500 @@ -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_smm4x4x2_US.c ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c --- ATLAS.orig/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2009-01-26 21:20:43.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x2_US.c 2009-03-18 00:03:32.000000000 -0500 @@ -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 2009-01-26 21:20:43.000000000 -0600 +++ ATLAS/tune/blas/gemm/CASES/ATL_smm4x4x72_US.c 2009-03-18 00:03:50.000000000 -0500 @@ -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) Binary files ATLAS.orig/xconfig and ATLAS/xconfig differ