MIPS n32 ABI and build time mips simd support check
authorShivraj Patil <shivraj.patil@imgtec.com>
Wed, 10 Aug 2016 12:14:22 +0000 (17:44 +0530)
committerShivraj Patil <shivraj.patil@imgtec.com>
Wed, 10 Aug 2016 12:14:22 +0000 (17:44 +0530)
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
30 files changed:
Makefile
Makefile.system
c_check
kernel/Makefile
kernel/mips/KERNEL.P5600
lapack-netlib/BLAS/SRC/Makefile
lapack-netlib/CBLAS/Makefile.in
lapack-netlib/CBLAS/src/Makefile
lapack-netlib/DOCS/lawn81.tex
lapack-netlib/INSTALL/make.inc.ALPHA
lapack-netlib/INSTALL/make.inc.HPPA
lapack-netlib/INSTALL/make.inc.IRIX64
lapack-netlib/INSTALL/make.inc.O2K
lapack-netlib/INSTALL/make.inc.SGI5
lapack-netlib/INSTALL/make.inc.SUN4
lapack-netlib/INSTALL/make.inc.SUN4SOL2
lapack-netlib/INSTALL/make.inc.XLF
lapack-netlib/INSTALL/make.inc.gfortran
lapack-netlib/INSTALL/make.inc.gfortran_debug
lapack-netlib/INSTALL/make.inc.ifort
lapack-netlib/INSTALL/make.inc.pgf95
lapack-netlib/INSTALL/make.inc.pghpf
lapack-netlib/LAPACKE/src/Makefile
lapack-netlib/LAPACKE/utils/Makefile
lapack-netlib/SRC/Makefile
lapack-netlib/SRC/VARIANTS/Makefile
lapack-netlib/TESTING/MATGEN/Makefile
lapack-netlib/make.inc.example
make.inc
param.h

index 6938081..2ae0047 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -228,8 +228,8 @@ ifndef NOFORTRAN
        -@echo "LOADOPTS    = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "CC          = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "override CFLAGS      = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
-       -@echo "AR          = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
-       -@echo "ARFLAGS     = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
+       -@echo "ARCH        = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
+       -@echo "ARCHFLAGS   = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "RANLIB      = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "LAPACKLIB   = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "TMGLIB      = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
index 47b197f..b05177b 100644 (file)
@@ -525,18 +525,18 @@ FCOMMON_OPT += -march=mips64
 endif
 
 ifeq ($(CORE), P5600)
-CCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MIPS_SIMD_FLAGS)
-FCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MIPS_SIMD_FLAGS)
+CCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MSA_FLAGS)
+FCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600 $(MSA_FLAGS)
 endif
 
 ifeq ($(CORE), I6400)
-CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MIPS_SIMD_FLAGS)
-FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MIPS_SIMD_FLAGS)
+CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
+FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
 endif
 
 ifeq ($(CORE), P6600)
-CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MIPS_SIMD_FLAGS)
-FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MIPS_SIMD_FLAGS)
+CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
+FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
 endif
 
 ifeq ($(OSNAME), AIX)
@@ -1132,6 +1132,8 @@ export HAVE_VFP
 export HAVE_VFPV3
 export HAVE_VFPV4
 export HAVE_NEON
+export HAVE_MSA
+export MSA_FLAGS
 export KERNELDIR
 export FUNCTION_PROFILE
 export TARGET_CORE
diff --git a/c_check b/c_check
index a7c7aac..2ec9fc4 100644 (file)
--- a/c_check
+++ b/c_check
@@ -159,24 +159,22 @@ if ($?) {
     die 1;
 }
 
-$mips_simd = 1;
+$have_msa = 0;
 if (($architecture eq "mips") || ($architecture eq "mips64")) {
-       $code = '"addvi.b $w0, $w1, 1"';
-       $msa_flags = "-mmsa -mfp64 -msched-weight -mload-store-pairs";
-       print $tmpf "#include <msa.h>\n\n";
-       print $tmpf "void main(void){ __asm__ volatile($code); }\n";
-
-       $ret = 0;
-       $args = "$msa_flags -o $tmpf.o -x c $tmpf";
-       my @cmd = ("$compiler_name $args");
+    $code = '"addvi.b $w0, $w1, 1"';
+    $msa_flags = "-mmsa -mfp64 -msched-weight -mload-store-pairs";
+    print $tmpf "#include <msa.h>\n\n";
+    print $tmpf "void main(void){ __asm__ volatile($code); }\n";
+
+    $args = "$msa_flags -o $tmpf.o -x c $tmpf";
+    my @cmd = ("$compiler_name $args");
     system(@cmd) == 0;
-       if ($? != 0) {
-               $ret = ($? >> 8);
+    if ($? != 0) {
+        $have_msa = 0;
+    } else {
+        $have_msa = 1;
     }
-       unlink("$tmpf.o");
-       if($ret != 0) {
-               $mips_simd = 0;
-       }
+    unlink("$tmpf.o");
 }
 
 $architecture = x86    if ($data =~ /ARCH_X86/);
@@ -273,8 +271,8 @@ print MAKEFILE "FU=$need_fu\n" if $need_fu ne "";
 print MAKEFILE "CROSS_SUFFIX=$cross_suffix\n" if $cross != 0 && $cross_suffix ne "";
 print MAKEFILE "CROSS=1\n" if $cross != 0;
 print MAKEFILE "CEXTRALIB=$linker_L $linker_l $linker_a\n";
-print MAKEFILE "MIPS_SIMD=1\n" if $mips_simd eq 1;
-print MAKEFILE "MIPS_SIMD_FLAGS=$msa_flags\n" if $mips_simd eq 1;
+print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1;
+print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1;
 
 $os           =~ tr/[a-z]/[A-Z]/;
 $architecture =~ tr/[a-z]/[A-Z]/;
@@ -286,7 +284,7 @@ print CONFFILE "#define C_$compiler\t1\n";
 print CONFFILE "#define __32BIT__\t1\n"  if $binformat eq bin32;
 print CONFFILE "#define __64BIT__\t1\n"  if $binformat eq bin64;
 print CONFFILE "#define FUNDERSCORE\t$need_fu\n" if $need_fu ne "";
-print CONFFILE "#define MIPS_SIMD\t1\n"  if $mips_simd eq 1;
+print CONFFILE "#define HAVE_MSA\t1\n"  if $have_msa eq 1;
 
 if ($os eq "LINUX") {
 
index 8237549..a0a8fcd 100644 (file)
@@ -4,7 +4,6 @@ endif
 
 TOPDIR = ..
 include $(TOPDIR)/Makefile.system
-include $(TOPDIR)/Makefile.conf
 
 ifdef TARGET_CORE
 override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE)
index 92c0b3c..6835792 100644 (file)
@@ -30,7 +30,7 @@ IDMAXKERNEL  = ../mips/imax.c
 ISMINKERNEL  = ../mips/imin.c
 IDMINKERNEL  = ../mips/imin.c
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 SASUMKERNEL  = ../mips/sasum_msa.c
 DASUMKERNEL  = ../mips/dasum_msa.c
 CASUMKERNEL  = ../mips/casum_msa.c
@@ -52,7 +52,7 @@ DCOPYKERNEL  = ../mips/copy.c
 CCOPYKERNEL  = ../mips/zcopy.c
 ZCOPYKERNEL  = ../mips/zcopy.c
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 SDOTKERNEL   = ../mips/sdot_msa.c
 DDOTKERNEL   = ../mips/ddot_msa.c
 CDOTKERNEL   = ../mips/cdot_msa.c
@@ -84,7 +84,7 @@ DSWAPKERNEL  = ../mips/swap.c
 CSWAPKERNEL  = ../mips/zswap.c
 ZSWAPKERNEL  = ../mips/zswap.c
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 SGEMVNKERNEL = ../mips/sgemv_n_msa.c
 DGEMVNKERNEL = ../mips/dgemv_n_msa.c
 CGEMVNKERNEL = ../mips/cgemv_n_msa.c
@@ -96,7 +96,7 @@ CGEMVNKERNEL = ../mips/zgemv_n.c
 ZGEMVNKERNEL = ../mips/zgemv_n.c
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 SGEMVTKERNEL = ../mips/sgemv_t_msa.c
 DGEMVTKERNEL = ../mips/dgemv_t_msa.c
 CGEMVTKERNEL = ../mips/cgemv_t_msa.c
@@ -108,7 +108,7 @@ CGEMVTKERNEL = ../mips/zgemv_t.c
 ZGEMVTKERNEL = ../mips/zgemv_t.c
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 SGEMMKERNEL    = ../mips/sgemm_kernel_8x8_msa.c
 SGEMMONCOPY    = ../mips/sgemm_ncopy_8_msa.c
 SGEMMOTCOPY    = ../mips/sgemm_tcopy_8_msa.c
@@ -122,7 +122,7 @@ SGEMMONCOPYOBJ = sgemm_oncopy.o
 SGEMMOTCOPYOBJ = sgemm_otcopy.o
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 DGEMMKERNEL    = ../mips/dgemm_kernel_8x4_msa.c
 DGEMMINCOPY    = ../mips/dgemm_ncopy_8_msa.c
 DGEMMITCOPY    = ../mips/dgemm_tcopy_8_msa.c
@@ -140,7 +140,7 @@ DGEMMONCOPYOBJ = dgemm_oncopy.o
 DGEMMOTCOPYOBJ = dgemm_otcopy.o
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 CGEMMKERNEL    = ../mips/cgemm_kernel_8x4_msa.c
 CGEMMINCOPY    = ../mips/cgemm_ncopy_8_msa.c
 CGEMMITCOPY    = ../mips/cgemm_tcopy_8_msa.c
@@ -158,7 +158,7 @@ CGEMMONCOPYOBJ = cgemm_oncopy.o
 CGEMMOTCOPYOBJ = cgemm_otcopy.o
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 ZGEMMKERNEL    = ../mips/zgemm_kernel_4x4_msa.c
 ZGEMMONCOPY    = ../mips/zgemm_ncopy_4_msa.c
 ZGEMMOTCOPY    = ../mips/zgemm_tcopy_4_msa.c
@@ -172,7 +172,7 @@ ZGEMMONCOPYOBJ = zgemm_oncopy.o
 ZGEMMOTCOPYOBJ = zgemm_otcopy.o
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c
 STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c
 STRSMKERNEL_RN = ../mips/strsm_kernel_RN_8x8_msa.c
@@ -184,7 +184,7 @@ STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
 STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c
 DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c
 DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_8x4_msa.c
@@ -196,7 +196,7 @@ DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
 DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
 CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
 CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
@@ -208,7 +208,7 @@ CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
 CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
 endif
 
-ifdef MIPS_SIMD
+ifdef HAVE_MSA
 ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
 ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
 ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
index 6ab0156..43dbfb7 100644 (file)
@@ -138,26 +138,26 @@ ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3)        \
        $(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
 
 $(BLASLIB): $(ALLOBJ)
-       $(AR) $(ARFLAGS) $@ $(ALLOBJ)
+       $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
        $(RANLIB) $@
 
 single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
-       $(AR) $(ARFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
+       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
        $(SBLAS2) $(SBLAS3)
        $(RANLIB) $(BLASLIB)
 
 double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
-       $(AR) $(ARFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
+       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
        $(DBLAS2) $(DBLAS3)
        $(RANLIB) $(BLASLIB)
 
 complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3)
-       $(AR) $(ARFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \
+       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \
        $(ALLBLAS) $(CBLAS2) $(CBLAS3)
        $(RANLIB) $(BLASLIB)
 
 complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
-       $(AR) $(ARFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
+       $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
        $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
        $(RANLIB) $(BLASLIB)
 
index 9528cc9..fe01430 100644 (file)
@@ -44,6 +44,6 @@ FFLAGS = -O3
 # Archive programs and flags
 #-----------------------------------------------------------------------------
 
-AR = ar
-ARFLAGS = cr
+ARCH = ar
+ARCHFLAGS = cr
 RANLIB = ranlib
index fa1b03d..d5c73cb 100644 (file)
@@ -73,27 +73,27 @@ alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1)
 
 # Single real precision
 slib1: $(slev1) $(sclev1)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(slev1) $(sclev1)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev1) $(sclev1)
        $(RANLIB) $(CBLASLIB)
 
 # Double real precision
 dlib1: $(dlev1) 
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(dlev1)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1)
        $(RANLIB) $(CBLASLIB)
 
 # Single complex precision
 clib1: $(clev1) $(sclev1)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(clev1) $(sclev1)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev1) $(sclev1)
        $(RANLIB) $(CBLASLIB)
 
 # Double complex precision
 zlib1: $(zlev1)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(zlev1)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1)
        $(RANLIB) $(CBLASLIB)
 
 # All precisions
 all1:  $(alev1)
-       $(AR) $(ARFLAGS)  $(CBLASLIB) $(alev1)
+       $(ARCH) $(ARCHFLAGS)  $(CBLASLIB) $(alev1)
        $(RANLIB) $(CBLASLIB)
 
 #
@@ -146,27 +146,27 @@ alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2)
 
 # Single real precision
 slib2: $(slev2) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(slev2) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev2) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Double real  precision
 dlib2: $(dlev2) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(dlev2) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev2) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Single complex precision
 clib2: $(clev2) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(clev2) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev2) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Double complex precision
 zlib2: $(zlev2) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(zlev2) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev2) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # All precisions
 all2:  $(alev2) $(errhand)
-       $(AR) $(ARFLAGS)  $(CBLASLIB) $(alev2) $(errhand)
+       $(ARCH) $(ARCHFLAGS)  $(CBLASLIB) $(alev2) $(errhand)
        $(RANLIB) $(CBLASLIB)
 #
 #
@@ -211,32 +211,32 @@ alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3)
 
 # Single real precision
 slib3: $(slev3) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(slev3) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev3) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Double real precision
 dlib3: $(dlev3) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(dlev3) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev3) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Single complex precision
 clib3: $(clev3) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(clev3) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev3) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # Single complex precision
 zlib3: $(zlev3) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(zlev3) $(errhand)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev3) $(errhand)
        $(RANLIB) $(CBLASLIB)
 
 # All precisions
 all3:  $(alev3) $(errhand)
-       $(AR) $(ARFLAGS) $(CBLASLIB) $(alev3)
+       $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev3) 
        $(RANLIB) $(CBLASLIB)
 
 # All levels and precisions
 cblaslib: $(alev)  
-       $(AR) $(ARFLAGS)  $(CBLASLIB) $(alev)
+       $(ARCH) $(ARCHFLAGS)  $(CBLASLIB) $(alev) 
        $(RANLIB) $(CBLASLIB)
 
 FRC:
index 84e12f8..16efef7 100644 (file)
@@ -466,7 +466,7 @@ TIMER    = EXT_ETIME
 Refer to the section~\ref{second} to get more information.
 
 
-Next, you will need to modify \texttt{AR}, \texttt{ARFLAGS}, and \texttt{RANLIB} to specify archiver,
+Next, you will need to modify \texttt{ARCH}, \texttt{ARCHFLAGS}, and \texttt{RANLIB} to specify archiver,
 archiver options, and ranlib for your machine.  If your architecture
 does not require \texttt{ranlib} to be run after each archive command (as
 is the case with CRAY computers running UNICOS, Hewlett Packard
index d20fe70..33353d2 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS = -O4
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index f38e16b..062e1a5 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS =
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 6ad48c2..c8b34e4 100644 (file)
@@ -55,9 +55,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 1ea0a1c..55b7de2 100644 (file)
@@ -55,9 +55,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 8afd522..dccfae3 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS = -O4
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 39b0136..dd5cfd4 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index db47258..eb71a38 100644 (file)
@@ -56,9 +56,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 2b05fbe..5824e8f 100644 (file)
@@ -53,9 +53,9 @@ CFLAGS = -O3 -qnosave
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 27164c2..4398643 100644 (file)
@@ -56,9 +56,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index ceddfc6..294758f 100644 (file)
@@ -56,9 +56,9 @@ CFLAGS = -g
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 3e5b83d..5fca5c4 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index cfad5df..aaddfa5 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS =
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 3261da8..782c16d 100644 (file)
@@ -52,9 +52,9 @@ CFLAGS =
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = echo
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = echo
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index 3e10fff..636ca35 100644 (file)
@@ -2207,8 +2207,8 @@ OBJ_FILES := $(C_FILES:.o=.o)
 all: ../../$(LAPACKELIB)
 
 ../../$(LAPACKELIB): $(ALLOBJA) $(ALLOBJB) $(ALLXOBJ) $(DEPRECATED)
-       $(AR) $(ARFLAGS) ../../$(LAPACKELIB) $(ALLOBJA)
-       $(AR) $(ARFLAGS) ../../$(LAPACKELIB) $(ALLOBJB) $(ALLXOBJ) $(DEPRECATED)
+       $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJA)
+       $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJB) $(ALLXOBJ) $(DEPRECATED)
        $(RANLIB) ../../$(LAPACKELIB)
 
 .c.o:
index cd3de5c..1d78567 100644 (file)
@@ -186,7 +186,7 @@ OBJ = lapacke_cgb_nancheck.o \
 all: lib
 
 lib: $(OBJ)
-       $(AR) $(ARFLAGS) ../../$(LAPACKELIB) $(OBJ)
+       $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(OBJ)
        $(RANLIB) ../../$(LAPACKELIB)
 
 .c.o:
index 257ff13..2279976 100644 (file)
@@ -455,26 +455,26 @@ endif
 all: ../$(LAPACKLIB)
 
 ../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
-       $(AR) $(ARFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
+       $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
        $(RANLIB) $@
 
 single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX)
-       $(AR) $(ARFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \
+       $(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \
        $(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX)
        $(RANLIB) ../$(LAPACKLIB)
 
 complex: $(CLASRC) $(ZCLASRC) $(CXLASRC) $(SCLAUX) $(ALLAUX)
-       $(AR) $(ARFLAGS) ../$(LAPACKLIB) $(CLASRC) $(ZCLASRC) \
+       $(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(CLASRC) $(ZCLASRC) \
        $(CXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX)
        $(RANLIB) ../$(LAPACKLIB)
 
 double: $(DLASRC) $(DSLASRC) $(DXLASRC) $(DZLAUX) $(ALLAUX)
-       $(AR) $(ARFLAGS) ../$(LAPACKLIB) $(DLASRC) $(DSLASRC) \
+       $(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(DLASRC) $(DSLASRC) \
        $(DXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX)
        $(RANLIB) ../$(LAPACKLIB)
 
 complex16: $(ZLASRC) $(ZCLASRC) $(ZXLASRC) $(DZLAUX) $(ALLAUX)
-       $(AR) $(ARFLAGS) ../$(LAPACKLIB) $(ZLASRC) $(ZCLASRC) \
+       $(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(ZLASRC) $(ZCLASRC) \
        $(ZXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX)
        $(RANLIB) ../$(LAPACKLIB)
 
index 6034aed..42446eb 100644 (file)
@@ -35,27 +35,27 @@ QRLL = qr/LL/cgeqrf.o qr/LL/dgeqrf.o qr/LL/sgeqrf.o qr/LL/zgeqrf.o  qr/LL/sceil.
 all: cholrl choltop lucr lull lurec qrll
 
 cholrl: $(CHOLRL)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL)
        $(RANLIB) $(VARIANTSDIR)/cholrl.a
 
 choltop: $(CHOLTOP)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP)
        $(RANLIB) $(VARIANTSDIR)/choltop.a
 
 lucr: $(LUCR)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR)
        $(RANLIB) $(VARIANTSDIR)/lucr.a
 
 lull: $(LULL)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/lull.a $(LULL)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lull.a $(LULL)
        $(RANLIB) $(VARIANTSDIR)/lull.a
 
 lurec: $(LUREC)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC)
        $(RANLIB) $(VARIANTSDIR)/lurec.a
        
 qrll: $(QRLL)
-       $(AR) $(ARFLAGS) $(VARIANTSDIR)/qrll.a  $(QRLL)
+       $(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/qrll.a  $(QRLL)
        $(RANLIB) $(VARIANTSDIR)/qrll.a
 
 
index 0ba5f44..ecd9aa5 100644 (file)
@@ -59,23 +59,23 @@ ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN)     \
        $(DZATGEN)
 
 ../../$(TMGLIB): $(ALLOBJ)
-       $(AR) $(ARFLAGS) $@ $(ALLOBJ)
+       $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
        $(RANLIB) $@
 
 single: $(SMATGEN) $(SCATGEN)
-       $(AR) $(ARFLAGS) ../../$(TMGLIB) $(SMATGEN) $(SCATGEN)
+       $(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(SMATGEN) $(SCATGEN)
        $(RANLIB) ../../$(TMGLIB)
 
 complex: $(CMATGEN) $(SCATGEN)
-       $(AR) $(ARFLAGS) ../../$(TMGLIB) $(CMATGEN) $(SCATGEN)
+       $(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(CMATGEN) $(SCATGEN)
        $(RANLIB) ../../$(TMGLIB)
 
 double: $(DMATGEN) $(DZATGEN)
-       $(AR) $(ARFLAGS) ../../$(TMGLIB) $(DMATGEN) $(DZATGEN)
+       $(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(DMATGEN) $(DZATGEN)
        $(RANLIB) ../../$(TMGLIB)
 
 complex16: $(ZMATGEN) $(DZATGEN)
-       $(AR) $(ARFLAGS) ../../$(TMGLIB) $(ZMATGEN) $(DZATGEN)
+       $(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(ZMATGEN) $(DZATGEN)
        $(RANLIB) ../../$(TMGLIB)
 
 $(SCATGEN): $(FRC)
index 0379069..504a164 100644 (file)
@@ -57,9 +57,9 @@ CFLAGS = -O3
 #  The archiver and the flag(s) to use when building archive (library)
 #  If you system has no ranlib, set RANLIB = echo.
 #
-AR      = ar
-ARFLAGS = cr
-RANLIB  = ranlib
+ARCH     = ar
+ARCHFLAGS= cr
+RANLIB   = ranlib
 #
 #  Location of the extended-precision BLAS (XBLAS) Fortran library
 #  used for building and testing extended-precision routines.  The
index a05d3f4..1fc95b0 100644 (file)
--- a/make.inc
+++ b/make.inc
@@ -1,6 +1,6 @@
 SHELL = /bin/sh
 PLAT = _LINUX
 DRVOPTS  = $(NOOPT)
-ARFLAGS= -ru
+ARCHFLAGS= -ru
 #RANLIB   = ranlib
 
diff --git a/param.h b/param.h
index 9f131eb..480518c 100644 (file)
--- a/param.h
+++ b/param.h
@@ -2182,7 +2182,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #define GEMM_DEFAULT_OFFSET_B  0
 #define GEMM_DEFAULT_ALIGN  0x03fffUL
 
-#ifdef MIPS_SIMD
+#ifdef HAVE_MSA
 #define SGEMM_DEFAULT_UNROLL_M  8
 #define SGEMM_DEFAULT_UNROLL_N  8