Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>tags/v0.2.19^2
@@ -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 | |||
@@ -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 | |||
@@ -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") { | |||
@@ -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) | |||
@@ -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 | |||
@@ -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) | |||
@@ -44,6 +44,6 @@ FFLAGS = -O3 | |||
# Archive programs and flags | |||
#----------------------------------------------------------------------------- | |||
AR = ar | |||
ARFLAGS = cr | |||
ARCH = ar | |||
ARCHFLAGS = cr | |||
RANLIB = ranlib |
@@ -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: | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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 | |||
@@ -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: | |||
@@ -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: | |||
@@ -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) | |||
@@ -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 | |||
@@ -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) | |||
@@ -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 | |||
@@ -1,6 +1,6 @@ | |||
SHELL = /bin/sh | |||
PLAT = _LINUX | |||
DRVOPTS = $(NOOPT) | |||
ARFLAGS= -ru | |||
ARCHFLAGS= -ru | |||
#RANLIB = ranlib | |||
@@ -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 | |||