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 "LOADOPTS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
-@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc | -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
-@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(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 "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
-@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc | -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
-@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc | -@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
@@ -525,18 +525,18 @@ FCOMMON_OPT += -march=mips64 | |||||
endif | endif | ||||
ifeq ($(CORE), P5600) | 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 | endif | ||||
ifeq ($(CORE), I6400) | 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 | endif | ||||
ifeq ($(CORE), P6600) | 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 | endif | ||||
ifeq ($(OSNAME), AIX) | ifeq ($(OSNAME), AIX) | ||||
@@ -1132,6 +1132,8 @@ export HAVE_VFP | |||||
export HAVE_VFPV3 | export HAVE_VFPV3 | ||||
export HAVE_VFPV4 | export HAVE_VFPV4 | ||||
export HAVE_NEON | export HAVE_NEON | ||||
export HAVE_MSA | |||||
export MSA_FLAGS | |||||
export KERNELDIR | export KERNELDIR | ||||
export FUNCTION_PROFILE | export FUNCTION_PROFILE | ||||
export TARGET_CORE | export TARGET_CORE | ||||
@@ -159,24 +159,22 @@ if ($?) { | |||||
die 1; | die 1; | ||||
} | } | ||||
$mips_simd = 1; | |||||
$have_msa = 0; | |||||
if (($architecture eq "mips") || ($architecture eq "mips64")) { | 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; | 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/); | $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_SUFFIX=$cross_suffix\n" if $cross != 0 && $cross_suffix ne ""; | ||||
print MAKEFILE "CROSS=1\n" if $cross != 0; | print MAKEFILE "CROSS=1\n" if $cross != 0; | ||||
print MAKEFILE "CEXTRALIB=$linker_L $linker_l $linker_a\n"; | 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]/; | $os =~ tr/[a-z]/[A-Z]/; | ||||
$architecture =~ 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 __32BIT__\t1\n" if $binformat eq bin32; | ||||
print CONFFILE "#define __64BIT__\t1\n" if $binformat eq bin64; | 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 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") { | if ($os eq "LINUX") { | ||||
@@ -4,7 +4,6 @@ endif | |||||
TOPDIR = .. | TOPDIR = .. | ||||
include $(TOPDIR)/Makefile.system | include $(TOPDIR)/Makefile.system | ||||
include $(TOPDIR)/Makefile.conf | |||||
ifdef TARGET_CORE | ifdef TARGET_CORE | ||||
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) | override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) | ||||
@@ -30,7 +30,7 @@ IDMAXKERNEL = ../mips/imax.c | |||||
ISMINKERNEL = ../mips/imin.c | ISMINKERNEL = ../mips/imin.c | ||||
IDMINKERNEL = ../mips/imin.c | IDMINKERNEL = ../mips/imin.c | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
SASUMKERNEL = ../mips/sasum_msa.c | SASUMKERNEL = ../mips/sasum_msa.c | ||||
DASUMKERNEL = ../mips/dasum_msa.c | DASUMKERNEL = ../mips/dasum_msa.c | ||||
CASUMKERNEL = ../mips/casum_msa.c | CASUMKERNEL = ../mips/casum_msa.c | ||||
@@ -52,7 +52,7 @@ DCOPYKERNEL = ../mips/copy.c | |||||
CCOPYKERNEL = ../mips/zcopy.c | CCOPYKERNEL = ../mips/zcopy.c | ||||
ZCOPYKERNEL = ../mips/zcopy.c | ZCOPYKERNEL = ../mips/zcopy.c | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
SDOTKERNEL = ../mips/sdot_msa.c | SDOTKERNEL = ../mips/sdot_msa.c | ||||
DDOTKERNEL = ../mips/ddot_msa.c | DDOTKERNEL = ../mips/ddot_msa.c | ||||
CDOTKERNEL = ../mips/cdot_msa.c | CDOTKERNEL = ../mips/cdot_msa.c | ||||
@@ -84,7 +84,7 @@ DSWAPKERNEL = ../mips/swap.c | |||||
CSWAPKERNEL = ../mips/zswap.c | CSWAPKERNEL = ../mips/zswap.c | ||||
ZSWAPKERNEL = ../mips/zswap.c | ZSWAPKERNEL = ../mips/zswap.c | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
SGEMVNKERNEL = ../mips/sgemv_n_msa.c | SGEMVNKERNEL = ../mips/sgemv_n_msa.c | ||||
DGEMVNKERNEL = ../mips/dgemv_n_msa.c | DGEMVNKERNEL = ../mips/dgemv_n_msa.c | ||||
CGEMVNKERNEL = ../mips/cgemv_n_msa.c | CGEMVNKERNEL = ../mips/cgemv_n_msa.c | ||||
@@ -96,7 +96,7 @@ CGEMVNKERNEL = ../mips/zgemv_n.c | |||||
ZGEMVNKERNEL = ../mips/zgemv_n.c | ZGEMVNKERNEL = ../mips/zgemv_n.c | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
SGEMVTKERNEL = ../mips/sgemv_t_msa.c | SGEMVTKERNEL = ../mips/sgemv_t_msa.c | ||||
DGEMVTKERNEL = ../mips/dgemv_t_msa.c | DGEMVTKERNEL = ../mips/dgemv_t_msa.c | ||||
CGEMVTKERNEL = ../mips/cgemv_t_msa.c | CGEMVTKERNEL = ../mips/cgemv_t_msa.c | ||||
@@ -108,7 +108,7 @@ CGEMVTKERNEL = ../mips/zgemv_t.c | |||||
ZGEMVTKERNEL = ../mips/zgemv_t.c | ZGEMVTKERNEL = ../mips/zgemv_t.c | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c | SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c | ||||
SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c | SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c | ||||
SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c | SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c | ||||
@@ -122,7 +122,7 @@ SGEMMONCOPYOBJ = sgemm_oncopy.o | |||||
SGEMMOTCOPYOBJ = sgemm_otcopy.o | SGEMMOTCOPYOBJ = sgemm_otcopy.o | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c | DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c | ||||
DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c | DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c | ||||
DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c | DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c | ||||
@@ -140,7 +140,7 @@ DGEMMONCOPYOBJ = dgemm_oncopy.o | |||||
DGEMMOTCOPYOBJ = dgemm_otcopy.o | DGEMMOTCOPYOBJ = dgemm_otcopy.o | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c | CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c | ||||
CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c | CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c | ||||
CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c | CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c | ||||
@@ -158,7 +158,7 @@ CGEMMONCOPYOBJ = cgemm_oncopy.o | |||||
CGEMMOTCOPYOBJ = cgemm_otcopy.o | CGEMMOTCOPYOBJ = cgemm_otcopy.o | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c | ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c | ||||
ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c | ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c | ||||
ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c | ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c | ||||
@@ -172,7 +172,7 @@ ZGEMMONCOPYOBJ = zgemm_oncopy.o | |||||
ZGEMMOTCOPYOBJ = zgemm_otcopy.o | ZGEMMOTCOPYOBJ = zgemm_otcopy.o | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c | STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c | ||||
STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c | STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c | ||||
STRSMKERNEL_RN = ../mips/strsm_kernel_RN_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 | STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c | DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c | ||||
DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c | DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c | ||||
DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_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 | DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | ||||
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | ||||
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.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 | CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | ||||
endif | endif | ||||
ifdef MIPS_SIMD | |||||
ifdef HAVE_MSA | |||||
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | ||||
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | ||||
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | ||||
@@ -138,26 +138,26 @@ ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ | |||||
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS) | $(ZBLAS2) $(ZBLAS3) $(ALLBLAS) | ||||
$(BLASLIB): $(ALLOBJ) | $(BLASLIB): $(ALLOBJ) | ||||
$(AR) $(ARFLAGS) $@ $(ALLOBJ) | |||||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) | |||||
$(RANLIB) $@ | $(RANLIB) $@ | ||||
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) | single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) | ||||
$(AR) $(ARFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ | |||||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ | |||||
$(SBLAS2) $(SBLAS3) | $(SBLAS2) $(SBLAS3) | ||||
$(RANLIB) $(BLASLIB) | $(RANLIB) $(BLASLIB) | ||||
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) | double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) | ||||
$(AR) $(ARFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ | |||||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ | |||||
$(DBLAS2) $(DBLAS3) | $(DBLAS2) $(DBLAS3) | ||||
$(RANLIB) $(BLASLIB) | $(RANLIB) $(BLASLIB) | ||||
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) | complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) | ||||
$(AR) $(ARFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ | |||||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ | |||||
$(ALLBLAS) $(CBLAS2) $(CBLAS3) | $(ALLBLAS) $(CBLAS2) $(CBLAS3) | ||||
$(RANLIB) $(BLASLIB) | $(RANLIB) $(BLASLIB) | ||||
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | ||||
$(AR) $(ARFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ | |||||
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ | |||||
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) | ||||
$(RANLIB) $(BLASLIB) | $(RANLIB) $(BLASLIB) | ||||
@@ -44,6 +44,6 @@ FFLAGS = -O3 | |||||
# Archive programs and flags | # Archive programs and flags | ||||
#----------------------------------------------------------------------------- | #----------------------------------------------------------------------------- | ||||
AR = ar | |||||
ARFLAGS = cr | |||||
ARCH = ar | |||||
ARCHFLAGS = cr | |||||
RANLIB = ranlib | RANLIB = ranlib |
@@ -73,27 +73,27 @@ alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) | |||||
# Single real precision | # Single real precision | ||||
slib1: $(slev1) $(sclev1) | slib1: $(slev1) $(sclev1) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(slev1) $(sclev1) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev1) $(sclev1) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Double real precision | # Double real precision | ||||
dlib1: $(dlev1) | dlib1: $(dlev1) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(dlev1) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Single complex precision | # Single complex precision | ||||
clib1: $(clev1) $(sclev1) | clib1: $(clev1) $(sclev1) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(clev1) $(sclev1) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev1) $(sclev1) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Double complex precision | # Double complex precision | ||||
zlib1: $(zlev1) | zlib1: $(zlev1) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(zlev1) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# All precisions | # All precisions | ||||
all1: $(alev1) | all1: $(alev1) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(alev1) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev1) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# | # | ||||
@@ -146,27 +146,27 @@ alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2) | |||||
# Single real precision | # Single real precision | ||||
slib2: $(slev2) $(errhand) | slib2: $(slev2) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(slev2) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev2) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Double real precision | # Double real precision | ||||
dlib2: $(dlev2) $(errhand) | dlib2: $(dlev2) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(dlev2) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev2) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Single complex precision | # Single complex precision | ||||
clib2: $(clev2) $(errhand) | clib2: $(clev2) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(clev2) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev2) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Double complex precision | # Double complex precision | ||||
zlib2: $(zlev2) $(errhand) | zlib2: $(zlev2) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(zlev2) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev2) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# All precisions | # All precisions | ||||
all2: $(alev2) $(errhand) | all2: $(alev2) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(alev2) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev2) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# | # | ||||
# | # | ||||
@@ -211,32 +211,32 @@ alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3) | |||||
# Single real precision | # Single real precision | ||||
slib3: $(slev3) $(errhand) | slib3: $(slev3) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(slev3) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(slev3) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Double real precision | # Double real precision | ||||
dlib3: $(dlev3) $(errhand) | dlib3: $(dlev3) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(dlev3) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev3) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Single complex precision | # Single complex precision | ||||
clib3: $(clev3) $(errhand) | clib3: $(clev3) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(clev3) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(clev3) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# Single complex precision | # Single complex precision | ||||
zlib3: $(zlev3) $(errhand) | zlib3: $(zlev3) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(zlev3) $(errhand) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev3) $(errhand) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# All precisions | # All precisions | ||||
all3: $(alev3) $(errhand) | all3: $(alev3) $(errhand) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(alev3) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev3) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
# All levels and precisions | # All levels and precisions | ||||
cblaslib: $(alev) | cblaslib: $(alev) | ||||
$(AR) $(ARFLAGS) $(CBLASLIB) $(alev) | |||||
$(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(alev) | |||||
$(RANLIB) $(CBLASLIB) | $(RANLIB) $(CBLASLIB) | ||||
FRC: | FRC: | ||||
@@ -466,7 +466,7 @@ TIMER = EXT_ETIME | |||||
Refer to the section~\ref{second} to get more information. | 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 | archiver options, and ranlib for your machine. If your architecture | ||||
does not require \texttt{ranlib} to be run after each archive command (as | does not require \texttt{ranlib} to be run after each archive command (as | ||||
is the case with CRAY computers running UNICOS, Hewlett Packard | 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # 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) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # used for building and testing extended-precision routines. The | ||||
@@ -2207,8 +2207,8 @@ OBJ_FILES := $(C_FILES:.o=.o) | |||||
all: ../../$(LAPACKELIB) | all: ../../$(LAPACKELIB) | ||||
../../$(LAPACKELIB): $(ALLOBJA) $(ALLOBJB) $(ALLXOBJ) $(DEPRECATED) | ../../$(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) | $(RANLIB) ../../$(LAPACKELIB) | ||||
.c.o: | .c.o: | ||||
@@ -186,7 +186,7 @@ OBJ = lapacke_cgb_nancheck.o \ | |||||
all: lib | all: lib | ||||
lib: $(OBJ) | lib: $(OBJ) | ||||
$(AR) $(ARFLAGS) ../../$(LAPACKELIB) $(OBJ) | |||||
$(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(OBJ) | |||||
$(RANLIB) ../../$(LAPACKELIB) | $(RANLIB) ../../$(LAPACKELIB) | ||||
.c.o: | .c.o: | ||||
@@ -455,26 +455,26 @@ endif | |||||
all: ../$(LAPACKLIB) | all: ../$(LAPACKLIB) | ||||
../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED) | ../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED) | ||||
$(AR) $(ARFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED) | |||||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED) | |||||
$(RANLIB) $@ | $(RANLIB) $@ | ||||
single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX) | single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX) | ||||
$(AR) $(ARFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \ | |||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \ | |||||
$(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX) | $(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX) | ||||
$(RANLIB) ../$(LAPACKLIB) | $(RANLIB) ../$(LAPACKLIB) | ||||
complex: $(CLASRC) $(ZCLASRC) $(CXLASRC) $(SCLAUX) $(ALLAUX) | complex: $(CLASRC) $(ZCLASRC) $(CXLASRC) $(SCLAUX) $(ALLAUX) | ||||
$(AR) $(ARFLAGS) ../$(LAPACKLIB) $(CLASRC) $(ZCLASRC) \ | |||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(CLASRC) $(ZCLASRC) \ | |||||
$(CXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX) | $(CXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX) | ||||
$(RANLIB) ../$(LAPACKLIB) | $(RANLIB) ../$(LAPACKLIB) | ||||
double: $(DLASRC) $(DSLASRC) $(DXLASRC) $(DZLAUX) $(ALLAUX) | double: $(DLASRC) $(DSLASRC) $(DXLASRC) $(DZLAUX) $(ALLAUX) | ||||
$(AR) $(ARFLAGS) ../$(LAPACKLIB) $(DLASRC) $(DSLASRC) \ | |||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(DLASRC) $(DSLASRC) \ | |||||
$(DXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX) | $(DXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX) | ||||
$(RANLIB) ../$(LAPACKLIB) | $(RANLIB) ../$(LAPACKLIB) | ||||
complex16: $(ZLASRC) $(ZCLASRC) $(ZXLASRC) $(DZLAUX) $(ALLAUX) | complex16: $(ZLASRC) $(ZCLASRC) $(ZXLASRC) $(DZLAUX) $(ALLAUX) | ||||
$(AR) $(ARFLAGS) ../$(LAPACKLIB) $(ZLASRC) $(ZCLASRC) \ | |||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(ZLASRC) $(ZCLASRC) \ | |||||
$(ZXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX) | $(ZXLASRC) $(DZLAUX) $(ALLAUX) $(ALLXAUX) | ||||
$(RANLIB) ../$(LAPACKLIB) | $(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 | all: cholrl choltop lucr lull lurec qrll | ||||
cholrl: $(CHOLRL) | cholrl: $(CHOLRL) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/cholrl.a $(CHOLRL) | |||||
$(RANLIB) $(VARIANTSDIR)/cholrl.a | $(RANLIB) $(VARIANTSDIR)/cholrl.a | ||||
choltop: $(CHOLTOP) | choltop: $(CHOLTOP) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/choltop.a $(CHOLTOP) | |||||
$(RANLIB) $(VARIANTSDIR)/choltop.a | $(RANLIB) $(VARIANTSDIR)/choltop.a | ||||
lucr: $(LUCR) | lucr: $(LUCR) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lucr.a $(LUCR) | |||||
$(RANLIB) $(VARIANTSDIR)/lucr.a | $(RANLIB) $(VARIANTSDIR)/lucr.a | ||||
lull: $(LULL) | lull: $(LULL) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/lull.a $(LULL) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lull.a $(LULL) | |||||
$(RANLIB) $(VARIANTSDIR)/lull.a | $(RANLIB) $(VARIANTSDIR)/lull.a | ||||
lurec: $(LUREC) | lurec: $(LUREC) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/lurec.a $(LUREC) | |||||
$(RANLIB) $(VARIANTSDIR)/lurec.a | $(RANLIB) $(VARIANTSDIR)/lurec.a | ||||
qrll: $(QRLL) | qrll: $(QRLL) | ||||
$(AR) $(ARFLAGS) $(VARIANTSDIR)/qrll.a $(QRLL) | |||||
$(ARCH) $(ARCHFLAGS) $(VARIANTSDIR)/qrll.a $(QRLL) | |||||
$(RANLIB) $(VARIANTSDIR)/qrll.a | $(RANLIB) $(VARIANTSDIR)/qrll.a | ||||
@@ -59,23 +59,23 @@ ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN) \ | |||||
$(DZATGEN) | $(DZATGEN) | ||||
../../$(TMGLIB): $(ALLOBJ) | ../../$(TMGLIB): $(ALLOBJ) | ||||
$(AR) $(ARFLAGS) $@ $(ALLOBJ) | |||||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) | |||||
$(RANLIB) $@ | $(RANLIB) $@ | ||||
single: $(SMATGEN) $(SCATGEN) | single: $(SMATGEN) $(SCATGEN) | ||||
$(AR) $(ARFLAGS) ../../$(TMGLIB) $(SMATGEN) $(SCATGEN) | |||||
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(SMATGEN) $(SCATGEN) | |||||
$(RANLIB) ../../$(TMGLIB) | $(RANLIB) ../../$(TMGLIB) | ||||
complex: $(CMATGEN) $(SCATGEN) | complex: $(CMATGEN) $(SCATGEN) | ||||
$(AR) $(ARFLAGS) ../../$(TMGLIB) $(CMATGEN) $(SCATGEN) | |||||
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(CMATGEN) $(SCATGEN) | |||||
$(RANLIB) ../../$(TMGLIB) | $(RANLIB) ../../$(TMGLIB) | ||||
double: $(DMATGEN) $(DZATGEN) | double: $(DMATGEN) $(DZATGEN) | ||||
$(AR) $(ARFLAGS) ../../$(TMGLIB) $(DMATGEN) $(DZATGEN) | |||||
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(DMATGEN) $(DZATGEN) | |||||
$(RANLIB) ../../$(TMGLIB) | $(RANLIB) ../../$(TMGLIB) | ||||
complex16: $(ZMATGEN) $(DZATGEN) | complex16: $(ZMATGEN) $(DZATGEN) | ||||
$(AR) $(ARFLAGS) ../../$(TMGLIB) $(ZMATGEN) $(DZATGEN) | |||||
$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(ZMATGEN) $(DZATGEN) | |||||
$(RANLIB) ../../$(TMGLIB) | $(RANLIB) ../../$(TMGLIB) | ||||
$(SCATGEN): $(FRC) | $(SCATGEN): $(FRC) | ||||
@@ -57,9 +57,9 @@ CFLAGS = -O3 | |||||
# The archiver and the flag(s) to use when building archive (library) | # The archiver and the flag(s) to use when building archive (library) | ||||
# If you system has no ranlib, set RANLIB = echo. | # 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 | # Location of the extended-precision BLAS (XBLAS) Fortran library | ||||
# used for building and testing extended-precision routines. The | # used for building and testing extended-precision routines. The | ||||
@@ -1,6 +1,6 @@ | |||||
SHELL = /bin/sh | SHELL = /bin/sh | ||||
PLAT = _LINUX | PLAT = _LINUX | ||||
DRVOPTS = $(NOOPT) | DRVOPTS = $(NOOPT) | ||||
ARFLAGS= -ru | |||||
ARCHFLAGS= -ru | |||||
#RANLIB = ranlib | #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_OFFSET_B 0 | ||||
#define GEMM_DEFAULT_ALIGN 0x03fffUL | #define GEMM_DEFAULT_ALIGN 0x03fffUL | ||||
#ifdef MIPS_SIMD | |||||
#ifdef HAVE_MSA | |||||
#define SGEMM_DEFAULT_UNROLL_M 8 | #define SGEMM_DEFAULT_UNROLL_M 8 | ||||
#define SGEMM_DEFAULT_UNROLL_N 8 | #define SGEMM_DEFAULT_UNROLL_N 8 | ||||