diff --git a/.cvsignore b/.cvsignore index b57deec..5f7da38 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,5 @@ atlas3.8.3.tar.bz2 PPRO32.tgz K7323DNow.tgz +USII32.tgz +USII64.tgz 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) diff --git a/atlas.spec b/atlas.spec index 08e6775..8504f95 100644 --- a/atlas.spec +++ b/atlas.spec @@ -2,7 +2,7 @@ Name: atlas Version: 3.8.3 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Automatically Tuned Linear Algebra Software Group: System Environment/Libraries @@ -12,7 +12,10 @@ Source0: http://downloads.sourceforge.net/math-atlas/%{name}%{version}.ta Source1: PPRO32.tgz Source2: K7323DNow.tgz Source3: README.Fedora +Source4: USII64.tgz +Source5: USII32.tgz Patch0: atlas-fedora_shared.patch +Patch1: atlas-sparc-linux.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-gfortran lapack-devel @@ -150,9 +153,12 @@ optimizations for the sse3 extensions to the ix86 architecture. %prep %setup -q -n ATLAS %patch0 -p0 -b .shared +%patch1 -p1 -b .sparc cp %{SOURCE1} CONFIG/ARCHS/ cp %{SOURCE2} CONFIG/ARCHS/ cp %{SOURCE3} doc +cp %{SOURCE4} CONFIG/ARCHS/ +cp %{SOURCE5} CONFIG/ARCHS/ %build for type in %{types}; do @@ -394,6 +400,9 @@ fi %endif %changelog +* Tue Feb 02 2010 Dennis Gilmore - 3.8.3-13 +- fix sparc to build + * Sat Oct 24 2009 Deji Akingunola - 3.8.3-12 - Use alternatives to workaround multilib conflicts (BZ#508565). diff --git a/sources b/sources index b719f7e..95752ad 100644 --- a/sources +++ b/sources @@ -1,3 +1,5 @@ 6c13be94a87178e7582111c08e9503bc atlas3.8.3.tar.bz2 676548252837b1e458181111443f340f PPRO32.tgz 3f174cdcb4c964843f27dbfc4ad4b1c8 K7323DNow.tgz +ebb4732aff468bbc223e7f734252173b USII32.tgz +31f8ae7583d290e5414a1a61ff6e7e39 USII64.tgz