-@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
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)
export HAVE_VFPV3
export HAVE_VFPV4
export HAVE_NEON
+export HAVE_MSA
+export MSA_FLAGS
export KERNELDIR
export FUNCTION_PROFILE
export TARGET_CORE
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/);
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]/;
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") {
TOPDIR = ..
include $(TOPDIR)/Makefile.system
-include $(TOPDIR)/Makefile.conf
ifdef TARGET_CORE
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE)
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
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
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
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
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
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
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
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
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
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
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
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
$(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)
# Archive programs and flags
#-----------------------------------------------------------------------------
-AR = ar
-ARFLAGS = cr
+ARCH = ar
+ARCHFLAGS = cr
RANLIB = ranlib
# 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)
#
# 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)
#
#
# 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:
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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
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:
all: lib
lib: $(OBJ)
- $(AR) $(ARFLAGS) ../../$(LAPACKELIB) $(OBJ)
+ $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(OBJ)
$(RANLIB) ../../$(LAPACKELIB)
.c.o:
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)
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
$(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)
# 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
SHELL = /bin/sh
PLAT = _LINUX
DRVOPTS = $(NOOPT)
-ARFLAGS= -ru
+ARCHFLAGS= -ru
#RANLIB = ranlib
#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