Substitute precompiled gcc7 codes only when gcc is older than 9.x

This commit is contained in:
Martin Kroeker 2019-11-29 23:49:50 +01:00 committed by GitHub
parent 97762234f9
commit a9b62c03f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 208 additions and 184 deletions

View File

@ -1,184 +1,208 @@
#SGEMM_BETA = ../generic/gemm_beta.c #SGEMM_BETA = ../generic/gemm_beta.c
#DGEMM_BETA = ../generic/gemm_beta.c #DGEMM_BETA = ../generic/gemm_beta.c
#CGEMM_BETA = ../generic/zgemm_beta.c #CGEMM_BETA = ../generic/zgemm_beta.c
#ZGEMM_BETA = ../generic/zgemm_beta.c #ZGEMM_BETA = ../generic/zgemm_beta.c
STRMMKERNEL = sgemm_kernel_power9.S STRMMKERNEL = sgemm_kernel_power9.S
DTRMMKERNEL = dgemm_kernel_power9.S DTRMMKERNEL = dgemm_kernel_power9.S
CTRMMKERNEL = cgemm_kernel_power9.S CTRMMKERNEL = cgemm_kernel_power9.S
ZTRMMKERNEL = zgemm_kernel_power9.S ZTRMMKERNEL = zgemm_kernel_power9.S
SGEMMKERNEL = sgemm_kernel_power9.S SGEMMKERNEL = sgemm_kernel_power9.S
SGEMMINCOPY = ../generic/gemm_ncopy_16.c SGEMMINCOPY = ../generic/gemm_ncopy_16.c
SGEMMITCOPY = sgemm_tcopy_16_power8.S SGEMMITCOPY = sgemm_tcopy_16_power8.S
SGEMMONCOPY = ../generic/gemm_ncopy_8.c SGEMMONCOPY = ../generic/gemm_ncopy_8.c
SGEMMOTCOPY = sgemm_tcopy_8_power8.S SGEMMOTCOPY = sgemm_tcopy_8_power8.S
SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX) SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX) SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX) SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX) SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
DGEMMKERNEL = dgemm_kernel_power9.S DGEMMKERNEL = dgemm_kernel_power9.S
DGEMMINCOPY = ../generic/gemm_ncopy_16.c DGEMMINCOPY = ../generic/gemm_ncopy_16.c
DGEMMITCOPY = dgemm_tcopy_16_power8.S DGEMMITCOPY = dgemm_tcopy_16_power8.S
DGEMMONCOPY = dgemm_ncopy_4_power8.S DGEMMONCOPY = dgemm_ncopy_4_power8.S
DGEMMOTCOPY = ../generic/gemm_tcopy_4.c DGEMMOTCOPY = ../generic/gemm_tcopy_4.c
DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX) DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX) DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX) DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX) DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
CGEMMKERNEL = cgemm_kernel_power9.S CGEMMKERNEL = cgemm_kernel_power9.S
CGEMMINCOPY = ../generic/zgemm_ncopy_8.c CGEMMINCOPY = ../generic/zgemm_ncopy_8.c
CGEMMITCOPY = ../generic/zgemm_tcopy_8.c CGEMMITCOPY = ../generic/zgemm_tcopy_8.c
CGEMMONCOPY = ../generic/zgemm_ncopy_4.c CGEMMONCOPY = ../generic/zgemm_ncopy_4.c
CGEMMOTCOPY = ../generic/zgemm_tcopy_4.c CGEMMOTCOPY = ../generic/zgemm_tcopy_4.c
CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX) CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX) CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX) CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX) CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
ZGEMMKERNEL = zgemm_kernel_power9.S ZGEMMKERNEL = zgemm_kernel_power9.S
ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
ZGEMMINCOPY = ../generic/zgemm_ncopy_8.c ZGEMMINCOPY = ../generic/zgemm_ncopy_8.c
ZGEMMITCOPY = zgemm_tcopy_8_power8.S ZGEMMITCOPY = zgemm_tcopy_8_power8.S
ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX) ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX) ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
ZGEMMINCOPYOBJ = zgemm_incopy$(TSUFFIX).$(SUFFIX) ZGEMMINCOPYOBJ = zgemm_incopy$(TSUFFIX).$(SUFFIX)
ZGEMMITCOPYOBJ = zgemm_itcopy$(TSUFFIX).$(SUFFIX) ZGEMMITCOPYOBJ = zgemm_itcopy$(TSUFFIX).$(SUFFIX)
STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
DTRSMKERNEL_LT = dtrsm_kernel_LT_16x4_power8.S DTRSMKERNEL_LT = dtrsm_kernel_LT_16x4_power8.S
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
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
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
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
ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
#Todo: CGEMM3MKERNEL should be 4x4 blocksizes. #Todo: CGEMM3MKERNEL should be 4x4 blocksizes.
#CGEMM3MKERNEL = zgemm3m_kernel_8x4_sse3.S #CGEMM3MKERNEL = zgemm3m_kernel_8x4_sse3.S
#ZGEMM3MKERNEL = zgemm3m_kernel_4x4_sse3.S #ZGEMM3MKERNEL = zgemm3m_kernel_4x4_sse3.S
#Pure C for other kernels #Pure C for other kernels
#SAMAXKERNEL = ../arm/amax.c #SAMAXKERNEL = ../arm/amax.c
#DAMAXKERNEL = ../arm/amax.c #DAMAXKERNEL = ../arm/amax.c
#CAMAXKERNEL = ../arm/zamax.c #CAMAXKERNEL = ../arm/zamax.c
#ZAMAXKERNEL = ../arm/zamax.c #ZAMAXKERNEL = ../arm/zamax.c
# #
#SAMINKERNEL = ../arm/amin.c #SAMINKERNEL = ../arm/amin.c
#DAMINKERNEL = ../arm/amin.c #DAMINKERNEL = ../arm/amin.c
#CAMINKERNEL = ../arm/zamin.c #CAMINKERNEL = ../arm/zamin.c
#ZAMINKERNEL = ../arm/zamin.c #ZAMINKERNEL = ../arm/zamin.c
# #
#SMAXKERNEL = ../arm/max.c #SMAXKERNEL = ../arm/max.c
#DMAXKERNEL = ../arm/max.c #DMAXKERNEL = ../arm/max.c
# #
#SMINKERNEL = ../arm/min.c #SMINKERNEL = ../arm/min.c
#DMINKERNEL = ../arm/min.c #DMINKERNEL = ../arm/min.c
# #
ISAMAXKERNEL = isamax_power9.S ifneq ($(GCCVERSIONGTEQ9),1)
IDAMAXKERNEL = idamax.c ISAMAXKERNEL = isamax_power9.S
ICAMAXKERNEL = icamax_power9.S else
IZAMAXKERNEL = izamax.c ISAMAXKERNEL = isamax.c
# endif
ISAMINKERNEL = isamin_power9.S IDAMAXKERNEL = idamax.c
IDAMINKERNEL = idamin.c ifneq ($(GCCVERSIONGTEQ9),1)
ICAMINKERNEL = icamin_power9.S ICAMAXKERNEL = icamax_power9.S
IZAMINKERNEL = izamin.c else
# ICAMAXKERNEL = icamax.c
#ISMAXKERNEL = ../arm/imax.c endif
#IDMAXKERNEL = ../arm/imax.c IZAMAXKERNEL = izamax.c
# #
#ISMINKERNEL = ../arm/imin.c ifneq ($(GCCVERSIONGTEQ9),1)
#IDMINKERNEL = ../arm/imin.c ISAMINKERNEL = isamin_power9.S
# else
SASUMKERNEL = sasum.c ISAMINKERNEL = isamin.c
DASUMKERNEL = dasum.c endif
CASUMKERNEL = casum.c IDAMINKERNEL = idamin.c
ZASUMKERNEL = zasum.c ifneq ($(GCCVERSIONGTEQ9),1)
# ICAMINKERNEL = icamin_power9.S
SAXPYKERNEL = saxpy.c else
DAXPYKERNEL = daxpy.c ICAMINKERNEL = icamin.c
CAXPYKERNEL = caxpy_power9.S endif
ZAXPYKERNEL = zaxpy.c IZAMINKERNEL = izamin.c
# #
SCOPYKERNEL = scopy.c #ISMAXKERNEL = ../arm/imax.c
DCOPYKERNEL = dcopy.c #IDMAXKERNEL = ../arm/imax.c
CCOPYKERNEL = ccopy.c #
ZCOPYKERNEL = zcopy.c #ISMINKERNEL = ../arm/imin.c
# #IDMINKERNEL = ../arm/imin.c
SDOTKERNEL = sdot.c #
DDOTKERNEL = ddot.c SASUMKERNEL = sasum.c
DSDOTKERNEL = sdot.c DASUMKERNEL = dasum.c
CDOTKERNEL = cdot_power9.S CASUMKERNEL = casum.c
ZDOTKERNEL = zdot.c ZASUMKERNEL = zasum.c
# #
SNRM2KERNEL = ../arm/nrm2.c SAXPYKERNEL = saxpy.c
DNRM2KERNEL = ../arm/nrm2.c DAXPYKERNEL = daxpy.c
CNRM2KERNEL = ../arm/znrm2.c ifneq ($(GCCVERSIONGTEQ9),1)
ZNRM2KERNEL = ../arm/znrm2.c CAXPYKERNEL = caxpy_power9.S
# else
SROTKERNEL = srot.c CAXPYKERNEL = caxpy.c
DROTKERNEL = drot.c endif
CROTKERNEL = crot.c ZAXPYKERNEL = zaxpy.c
ZROTKERNEL = zrot.c #
# SCOPYKERNEL = scopy.c
SSCALKERNEL = sscal.c DCOPYKERNEL = dcopy.c
DSCALKERNEL = dscal.c CCOPYKERNEL = ccopy.c
CSCALKERNEL = zscal.c ZCOPYKERNEL = zcopy.c
ZSCALKERNEL = zscal.c #
# SDOTKERNEL = sdot.c
SSWAPKERNEL = sswap.c DDOTKERNEL = ddot.c
DSWAPKERNEL = dswap.c DSDOTKERNEL = sdot.c
CSWAPKERNEL = cswap.c ifneq ($(GCCVERSIONGTEQ9),1)
ZSWAPKERNEL = zswap.c CDOTKERNEL = cdot_power9.S
# else
CDOTKERNEL = cdot.c
SGEMVNKERNEL = sgemv_n.c endif
DGEMVNKERNEL = dgemv_n.c ZDOTKERNEL = zdot.c
CGEMVNKERNEL = cgemv_n.c #
ZGEMVNKERNEL = zgemv_n_4.c SNRM2KERNEL = ../arm/nrm2.c
# DNRM2KERNEL = ../arm/nrm2.c
SGEMVTKERNEL = sgemv_t.c CNRM2KERNEL = ../arm/znrm2.c
DGEMVTKERNEL = dgemv_t.c ZNRM2KERNEL = ../arm/znrm2.c
CGEMVTKERNEL = cgemv_t.c #
ZGEMVTKERNEL = zgemv_t_4.c SROTKERNEL = srot.c
DROTKERNEL = drot.c
CROTKERNEL = crot.c
#SSYMV_U_KERNEL = ../generic/symv_k.c ZROTKERNEL = zrot.c
#SSYMV_L_KERNEL = ../generic/symv_k.c #
#DSYMV_U_KERNEL = ../generic/symv_k.c SSCALKERNEL = sscal.c
#DSYMV_L_KERNEL = ../generic/symv_k.c DSCALKERNEL = dscal.c
#QSYMV_U_KERNEL = ../generic/symv_k.c CSCALKERNEL = zscal.c
#QSYMV_L_KERNEL = ../generic/symv_k.c ZSCALKERNEL = zscal.c
#CSYMV_U_KERNEL = ../generic/zsymv_k.c #
#CSYMV_L_KERNEL = ../generic/zsymv_k.c SSWAPKERNEL = sswap.c
#ZSYMV_U_KERNEL = ../generic/zsymv_k.c DSWAPKERNEL = dswap.c
#ZSYMV_L_KERNEL = ../generic/zsymv_k.c CSWAPKERNEL = cswap.c
#XSYMV_U_KERNEL = ../generic/zsymv_k.c ZSWAPKERNEL = zswap.c
#XSYMV_L_KERNEL = ../generic/zsymv_k.c #
#ZHEMV_U_KERNEL = ../generic/zhemv_k.c SGEMVNKERNEL = sgemv_n.c
#ZHEMV_L_KERNEL = ../generic/zhemv_k.c DGEMVNKERNEL = dgemv_n.c
CGEMVNKERNEL = cgemv_n.c
LSAME_KERNEL = ../generic/lsame.c ZGEMVNKERNEL = zgemv_n_4.c
SCABS_KERNEL = ../generic/cabs.c #
DCABS_KERNEL = ../generic/cabs.c SGEMVTKERNEL = sgemv_t.c
QCABS_KERNEL = ../generic/cabs.c DGEMVTKERNEL = dgemv_t.c
CGEMVTKERNEL = cgemv_t.c
#Dump kernel ZGEMVTKERNEL = zgemv_t_4.c
CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
#SSYMV_U_KERNEL = ../generic/symv_k.c
#SSYMV_L_KERNEL = ../generic/symv_k.c
#DSYMV_U_KERNEL = ../generic/symv_k.c
#DSYMV_L_KERNEL = ../generic/symv_k.c
#QSYMV_U_KERNEL = ../generic/symv_k.c
#QSYMV_L_KERNEL = ../generic/symv_k.c
#CSYMV_U_KERNEL = ../generic/zsymv_k.c
#CSYMV_L_KERNEL = ../generic/zsymv_k.c
#ZSYMV_U_KERNEL = ../generic/zsymv_k.c
#ZSYMV_L_KERNEL = ../generic/zsymv_k.c
#XSYMV_U_KERNEL = ../generic/zsymv_k.c
#XSYMV_L_KERNEL = ../generic/zsymv_k.c
#ZHEMV_U_KERNEL = ../generic/zhemv_k.c
#ZHEMV_L_KERNEL = ../generic/zhemv_k.c
LSAME_KERNEL = ../generic/lsame.c
SCABS_KERNEL = ../generic/cabs.c
DCABS_KERNEL = ../generic/cabs.c
QCABS_KERNEL = ../generic/cabs.c
#Dump kernel
CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c