From 96874379286efb14857c3f019c51743893cb7413 Mon Sep 17 00:00:00 2001 From: Shivraj Patil Date: Wed, 10 Aug 2016 17:44:22 +0530 Subject: [PATCH] MIPS n32 ABI and build time mips simd support check Signed-off-by: Shivraj Patil --- Makefile | 4 ++-- Makefile.system | 14 ++++++----- c_check | 34 +++++++++++++-------------- kernel/Makefile | 1 - kernel/mips/KERNEL.P5600 | 24 +++++++++---------- lapack-netlib/BLAS/SRC/Makefile | 10 ++++---- lapack-netlib/CBLAS/Makefile.in | 4 ++-- lapack-netlib/CBLAS/src/Makefile | 32 ++++++++++++------------- lapack-netlib/DOCS/lawn81.tex | 2 +- lapack-netlib/INSTALL/make.inc.ALPHA | 6 ++--- lapack-netlib/INSTALL/make.inc.HPPA | 6 ++--- lapack-netlib/INSTALL/make.inc.IRIX64 | 6 ++--- lapack-netlib/INSTALL/make.inc.O2K | 6 ++--- lapack-netlib/INSTALL/make.inc.SGI5 | 6 ++--- lapack-netlib/INSTALL/make.inc.SUN4 | 6 ++--- lapack-netlib/INSTALL/make.inc.SUN4SOL2 | 6 ++--- lapack-netlib/INSTALL/make.inc.XLF | 6 ++--- lapack-netlib/INSTALL/make.inc.gfortran | 6 ++--- lapack-netlib/INSTALL/make.inc.gfortran_debug | 6 ++--- lapack-netlib/INSTALL/make.inc.ifort | 6 ++--- lapack-netlib/INSTALL/make.inc.pgf95 | 6 ++--- lapack-netlib/INSTALL/make.inc.pghpf | 6 ++--- lapack-netlib/LAPACKE/src/Makefile | 4 ++-- lapack-netlib/LAPACKE/utils/Makefile | 2 +- lapack-netlib/SRC/Makefile | 10 ++++---- lapack-netlib/SRC/VARIANTS/Makefile | 12 +++++----- lapack-netlib/TESTING/MATGEN/Makefile | 10 ++++---- lapack-netlib/make.inc.example | 6 ++--- make.inc | 2 +- param.h | 2 +- 30 files changed, 125 insertions(+), 126 deletions(-) diff --git a/Makefile b/Makefile index 6938081..2ae0047 100644 --- 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 diff --git a/Makefile.system b/Makefile.system index 47b197f..b05177b 100644 --- a/Makefile.system +++ b/Makefile.system @@ -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 --- 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 \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 \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") { diff --git a/kernel/Makefile b/kernel/Makefile index 8237549..a0a8fcd 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -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) diff --git a/kernel/mips/KERNEL.P5600 b/kernel/mips/KERNEL.P5600 index 92c0b3c..6835792 100644 --- a/kernel/mips/KERNEL.P5600 +++ b/kernel/mips/KERNEL.P5600 @@ -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 diff --git a/lapack-netlib/BLAS/SRC/Makefile b/lapack-netlib/BLAS/SRC/Makefile index 6ab0156..43dbfb7 100644 --- a/lapack-netlib/BLAS/SRC/Makefile +++ b/lapack-netlib/BLAS/SRC/Makefile @@ -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) diff --git a/lapack-netlib/CBLAS/Makefile.in b/lapack-netlib/CBLAS/Makefile.in index 9528cc9..fe01430 100644 --- a/lapack-netlib/CBLAS/Makefile.in +++ b/lapack-netlib/CBLAS/Makefile.in @@ -44,6 +44,6 @@ FFLAGS = -O3 # Archive programs and flags #----------------------------------------------------------------------------- -AR = ar -ARFLAGS = cr +ARCH = ar +ARCHFLAGS = cr RANLIB = ranlib diff --git a/lapack-netlib/CBLAS/src/Makefile b/lapack-netlib/CBLAS/src/Makefile index fa1b03d..d5c73cb 100644 --- a/lapack-netlib/CBLAS/src/Makefile +++ b/lapack-netlib/CBLAS/src/Makefile @@ -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: diff --git a/lapack-netlib/DOCS/lawn81.tex b/lapack-netlib/DOCS/lawn81.tex index 84e12f8..16efef7 100644 --- a/lapack-netlib/DOCS/lawn81.tex +++ b/lapack-netlib/DOCS/lawn81.tex @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.ALPHA b/lapack-netlib/INSTALL/make.inc.ALPHA index d20fe70..33353d2 100644 --- a/lapack-netlib/INSTALL/make.inc.ALPHA +++ b/lapack-netlib/INSTALL/make.inc.ALPHA @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.HPPA b/lapack-netlib/INSTALL/make.inc.HPPA index f38e16b..062e1a5 100644 --- a/lapack-netlib/INSTALL/make.inc.HPPA +++ b/lapack-netlib/INSTALL/make.inc.HPPA @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.IRIX64 b/lapack-netlib/INSTALL/make.inc.IRIX64 index 6ad48c2..c8b34e4 100644 --- a/lapack-netlib/INSTALL/make.inc.IRIX64 +++ b/lapack-netlib/INSTALL/make.inc.IRIX64 @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.O2K b/lapack-netlib/INSTALL/make.inc.O2K index 1ea0a1c..55b7de2 100644 --- a/lapack-netlib/INSTALL/make.inc.O2K +++ b/lapack-netlib/INSTALL/make.inc.O2K @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.SGI5 b/lapack-netlib/INSTALL/make.inc.SGI5 index 8afd522..dccfae3 100644 --- a/lapack-netlib/INSTALL/make.inc.SGI5 +++ b/lapack-netlib/INSTALL/make.inc.SGI5 @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.SUN4 b/lapack-netlib/INSTALL/make.inc.SUN4 index 39b0136..dd5cfd4 100644 --- a/lapack-netlib/INSTALL/make.inc.SUN4 +++ b/lapack-netlib/INSTALL/make.inc.SUN4 @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.SUN4SOL2 b/lapack-netlib/INSTALL/make.inc.SUN4SOL2 index db47258..eb71a38 100644 --- a/lapack-netlib/INSTALL/make.inc.SUN4SOL2 +++ b/lapack-netlib/INSTALL/make.inc.SUN4SOL2 @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.XLF b/lapack-netlib/INSTALL/make.inc.XLF index 2b05fbe..5824e8f 100644 --- a/lapack-netlib/INSTALL/make.inc.XLF +++ b/lapack-netlib/INSTALL/make.inc.XLF @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.gfortran b/lapack-netlib/INSTALL/make.inc.gfortran index 27164c2..4398643 100644 --- a/lapack-netlib/INSTALL/make.inc.gfortran +++ b/lapack-netlib/INSTALL/make.inc.gfortran @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.gfortran_debug b/lapack-netlib/INSTALL/make.inc.gfortran_debug index ceddfc6..294758f 100644 --- a/lapack-netlib/INSTALL/make.inc.gfortran_debug +++ b/lapack-netlib/INSTALL/make.inc.gfortran_debug @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.ifort b/lapack-netlib/INSTALL/make.inc.ifort index 3e5b83d..5fca5c4 100644 --- a/lapack-netlib/INSTALL/make.inc.ifort +++ b/lapack-netlib/INSTALL/make.inc.ifort @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.pgf95 b/lapack-netlib/INSTALL/make.inc.pgf95 index cfad5df..aaddfa5 100644 --- a/lapack-netlib/INSTALL/make.inc.pgf95 +++ b/lapack-netlib/INSTALL/make.inc.pgf95 @@ -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 diff --git a/lapack-netlib/INSTALL/make.inc.pghpf b/lapack-netlib/INSTALL/make.inc.pghpf index 3261da8..782c16d 100644 --- a/lapack-netlib/INSTALL/make.inc.pghpf +++ b/lapack-netlib/INSTALL/make.inc.pghpf @@ -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 diff --git a/lapack-netlib/LAPACKE/src/Makefile b/lapack-netlib/LAPACKE/src/Makefile index 3e10fff..636ca35 100644 --- a/lapack-netlib/LAPACKE/src/Makefile +++ b/lapack-netlib/LAPACKE/src/Makefile @@ -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: diff --git a/lapack-netlib/LAPACKE/utils/Makefile b/lapack-netlib/LAPACKE/utils/Makefile index cd3de5c..1d78567 100644 --- a/lapack-netlib/LAPACKE/utils/Makefile +++ b/lapack-netlib/LAPACKE/utils/Makefile @@ -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: diff --git a/lapack-netlib/SRC/Makefile b/lapack-netlib/SRC/Makefile index 257ff13..2279976 100644 --- a/lapack-netlib/SRC/Makefile +++ b/lapack-netlib/SRC/Makefile @@ -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) diff --git a/lapack-netlib/SRC/VARIANTS/Makefile b/lapack-netlib/SRC/VARIANTS/Makefile index 6034aed..42446eb 100644 --- a/lapack-netlib/SRC/VARIANTS/Makefile +++ b/lapack-netlib/SRC/VARIANTS/Makefile @@ -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 diff --git a/lapack-netlib/TESTING/MATGEN/Makefile b/lapack-netlib/TESTING/MATGEN/Makefile index 0ba5f44..ecd9aa5 100644 --- a/lapack-netlib/TESTING/MATGEN/Makefile +++ b/lapack-netlib/TESTING/MATGEN/Makefile @@ -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) diff --git a/lapack-netlib/make.inc.example b/lapack-netlib/make.inc.example index 0379069..504a164 100644 --- a/lapack-netlib/make.inc.example +++ b/lapack-netlib/make.inc.example @@ -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 diff --git a/make.inc b/make.inc index a05d3f4..1fc95b0 100644 --- 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 --- 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 -- 2.7.4