Browse Source

Extra

pull/1216/head
Valter Akira Miasato Filho 9 years ago
parent
commit
682d9be199
1 changed files with 154 additions and 48 deletions
  1. +154
    -48
      kernel/arm/KERNEL.ARMV7

+ 154
- 48
kernel/arm/KERNEL.ARMV7 View File

@@ -1,98 +1,113 @@

#################################################################################

############################################################
# Files already implemented in ARM Assembly for softfp ABI #
############################################################
SAMAXKERNEL = iamax_vfp.S

SAMINKERNEL = iamax_vfp.S

SMAXKERNEL = iamax_vfp.S

SMINKERNEL = iamax_vfp.S

ISAMAXKERNEL = iamax_vfp.S

ISAMINKERNEL = iamax_vfp.S

ISMAXKERNEL = iamax_vfp.S

ISMINKERNEL = iamax_vfp.S

SSWAPKERNEL = swap_vfp.S

SASUMKERNEL = asum_vfp.S

SAXPYKERNEL = axpy_vfp.S

SDOTKERNEL = sdot_vfp.S

SNRM2KERNEL = nrm2_vfpv3.S

SROTKERNEL = rot_vfp.S

SGEMVNKERNEL = gemv_n_vfpv3.S

SGEMVTKERNEL = gemv_t_vfp.S

STRMMKERNEL = strmm_kernel_4x4_vfpv3.S

SGEMMKERNEL = sgemm_kernel_4x4_vfpv3.S
SGEMMONCOPY = sgemm_ncopy_4_vfp.S
SGEMMOTCOPY = sgemm_tcopy_4_vfp.S
SGEMMONCOPYOBJ = sgemm_oncopy.o
SGEMMOTCOPYOBJ = sgemm_otcopy.o

###############################################################
# Files yet to be implemented in ARM Assembly for softfp ABI #
###############################################################
ifeq ($(ARM_SOFTFP_ABI), 1)
DAMAXKERNEL = amax.c
CAMAXKERNEL = zamax.c
ZAMAXKERNEL = zamax.c

SAMINKERNEL = iamax_vfp.S
DAMINKERNEL = amin.c
CAMINKERNEL = zamin.c
ZAMINKERNEL = zamin.c

SMAXKERNEL = iamax_vfp.S
DMAXKERNEL = max.c

SMINKERNEL = iamax_vfp.S
DMINKERNEL = min.c

ISAMAXKERNEL = iamax_vfp.S
IDAMAXKERNEL = iamax.c
ICAMAXKERNEL = izamax.c
IZAMAXKERNEL = izamax.c

ISAMINKERNEL = iamax_vfp.S
IDAMINKERNEL = iamin.c
ICAMINKERNEL = izamin.c
IZAMINKERNEL = izamin.c

ISMAXKERNEL = iamax_vfp.S
IDMAXKERNEL = imax.c

ISMINKERNEL = iamax_vfp.S
IDMINKERNEL = imin.c

SSWAPKERNEL = swap_vfp.S
DSWAPKERNEL = swap.c
CSWAPKERNEL = zswap.c
ZSWAPKERNEL = zswap.c

SASUMKERNEL = asum_vfp.S
DASUMKERNEL = asum.c
CASUMKERNEL = zasum.c
ZASUMKERNEL = zasum.c

SAXPYKERNEL = axpy_vfp.S
DAXPYKERNEL = axpy.c
CAXPYKERNEL = zaxpy.c
ZAXPYKERNEL = zaxpy.c

SCOPYKERNEL = copy.c
DCOPYKERNEL = copy.c
CCOPYKERNEL = zcopy.c
ZCOPYKERNEL = zcopy.c

SDOTKERNEL = sdot_vfp.S
DDOTKERNEL = dot.c
CDOTKERNEL = zdot.c
ZDOTKERNEL = zdot.c

SNRM2KERNEL = nrm2_vfpv3.S
DNRM2KERNEL = nrm2.c
CNRM2KERNEL = znrm2.c
ZNRM2KERNEL = znrm2.c

SROTKERNEL = rot_vfp.S
DROTKERNEL = rot.c
CROTKERNEL = zrot.c
ZROTKERNEL = zrot.c

SSCALKERNEL = scal.c
DSCALKERNEL = scal.c
CSCALKERNEL = zscal.c
ZSCALKERNEL = zscal.c

SGEMVNKERNEL = gemv_n_vfpv3.S
DGEMVNKERNEL = gemv_n.c
CGEMVNKERNEL = zgemv_n.c
ZGEMVNKERNEL = zgemv_n.c

SGEMVTKERNEL = gemv_t_vfp.S
DGEMVTKERNEL = gemv_t.c
CGEMVTKERNEL = zgemv_t.c
ZGEMVTKERNEL = zgemv_t.c

STRMMKERNEL = strmm_kernel_4x4_vfpv3.S
DTRMMKERNEL = ../generic/trmmkernel_2x2.c
CTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
ZTRMMKERNEL = ../generic/ztrmmkernel_2x2.c

SGEMMKERNEL = sgemm_kernel_4x4_vfpv3.S
SGEMMONCOPY = sgemm_ncopy_4_vfp.S
SGEMMOTCOPY = sgemm_tcopy_4_vfp.S
SGEMMONCOPYOBJ = sgemm_oncopy.o
SGEMMOTCOPYOBJ = sgemm_otcopy.o

DGEMMKERNEL = ../generic/gemmkernel_2x2.c
DGEMMONCOPY = ../generic/gemm_ncopy_2.c
DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
@@ -111,24 +126,115 @@ ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
ZGEMMONCOPYOBJ = zgemm_oncopy.o
ZGEMMOTCOPYOBJ = zgemm_otcopy.o

STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
else # Use optimized hard-float implementations

DAMAXKERNEL = iamax_vfp.S
CAMAXKERNEL = iamax_vfp.S
ZAMAXKERNEL = iamax_vfp.S

DAMINKERNEL = iamax_vfp.S
CAMINKERNEL = iamax_vfp.S
ZAMINKERNEL = iamax_vfp.S

DMAXKERNEL = iamax_vfp.S

DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
DMINKERNEL = iamax_vfp.S

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
IDAMAXKERNEL = iamax_vfp.S
ICAMAXKERNEL = iamax_vfp.S
IZAMAXKERNEL = iamax_vfp.S

ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
IDAMINKERNEL = iamax_vfp.S
ICAMINKERNEL = iamax_vfp.S
IZAMINKERNEL = iamax_vfp.S

IDMAXKERNEL = iamax_vfp.S

IDMINKERNEL = iamax_vfp.S

DSWAPKERNEL = swap_vfp.S
CSWAPKERNEL = swap_vfp.S
ZSWAPKERNEL = swap_vfp.S

DASUMKERNEL = asum_vfp.S
CASUMKERNEL = asum_vfp.S
ZASUMKERNEL = asum_vfp.S

DAXPYKERNEL = axpy_vfp.S
CAXPYKERNEL = axpy_vfp.S
ZAXPYKERNEL = axpy_vfp.S

DDOTKERNEL = ddot_vfp.S
CDOTKERNEL = cdot_vfp.S
ZDOTKERNEL = zdot_vfp.S

DNRM2KERNEL = nrm2_vfpv3.S
CNRM2KERNEL = nrm2_vfpv3.S
ZNRM2KERNEL = nrm2_vfpv3.S

DROTKERNEL = rot_vfp.S
CROTKERNEL = rot_vfp.S
ZROTKERNEL = rot_vfp.S

DGEMVNKERNEL = gemv_n_vfpv3.S
CGEMVNKERNEL = cgemv_n_vfp.S
ZGEMVNKERNEL = zgemv_n_vfp.S

DGEMVTKERNEL = gemv_t_vfp.S
CGEMVTKERNEL = cgemv_t_vfp.S
ZGEMVTKERNEL = zgemv_t_vfp.S

DTRMMKERNEL = dtrmm_kernel_4x4_vfpv3.S
CTRMMKERNEL = ctrmm_kernel_2x2_vfpv3.S
ZTRMMKERNEL = ztrmm_kernel_2x2_vfpv3.S

DGEMMKERNEL = dgemm_kernel_4x4_vfpv3.S
DGEMMONCOPY = dgemm_ncopy_4_vfp.S
DGEMMOTCOPY = dgemm_tcopy_4_vfp.S

CGEMMKERNEL = cgemm_kernel_2x2_vfpv3.S
CGEMMONCOPY = cgemm_ncopy_2_vfp.S
CGEMMOTCOPY = cgemm_tcopy_2_vfp.S
CGEMMONCOPYOBJ = cgemm_oncopy.o
CGEMMOTCOPYOBJ = cgemm_otcopy.o

ZGEMMKERNEL = zgemm_kernel_2x2_vfpv3.S
ZGEMMONCOPY = zgemm_ncopy_2_vfp.S
ZGEMMOTCOPY = zgemm_tcopy_2_vfp.S
ZGEMMONCOPYOBJ = zgemm_oncopy.o
ZGEMMOTCOPYOBJ = zgemm_otcopy.o

endif

############################
# Files in pure C routines #
############################
SCOPYKERNEL = copy.c
DCOPYKERNEL = copy.c
CCOPYKERNEL = zcopy.c
ZCOPYKERNEL = zcopy.c

SSCALKERNEL = scal.c
DSCALKERNEL = scal.c
CSCALKERNEL = zscal.c
ZSCALKERNEL = zscal.c

STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c

DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c

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

ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c

Loading…
Cancel
Save