Merge pull request #1449 from martin-frbg/armv8

Enable assembly kernels for the generic ARMV8 target and treat CortexA53,A72 as A57
This commit is contained in:
Martin Kroeker 2018-02-11 20:47:49 +01:00 committed by GitHub
commit 42514fa24c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 50 deletions

View File

@ -114,8 +114,9 @@ int detect(void)
fclose(infile); fclose(infile);
if(cpu_part != NULL && cpu_implementer != NULL) { if(cpu_part != NULL && cpu_implementer != NULL) {
if (strstr(cpu_part, "0xd07") && strstr(cpu_implementer, "0x41")) if (strstr(cpu_implementer, "0x41") &&
return CPU_CORTEXA57; (strstr(cpu_part, "0xd07") || strstr(cpu_part,"0xd08") || strstr(cpu_part,"0xd03") ))
return CPU_CORTEXA57; //or compatible A53, A72
else if (strstr(cpu_part, "0x516") && strstr(cpu_implementer, "0x42")) else if (strstr(cpu_part, "0x516") && strstr(cpu_implementer, "0x42"))
return CPU_VULCAN; return CPU_VULCAN;
else if (strstr(cpu_part, "0x0a1") && strstr(cpu_implementer, "0x43")) else if (strstr(cpu_part, "0x0a1") && strstr(cpu_implementer, "0x43"))

View File

@ -1,7 +1,7 @@
SAMAXKERNEL = ../arm/amax.c SAMAXKERNEL = amax.S
DAMAXKERNEL = ../arm/amax.c DAMAXKERNEL = amax.S
CAMAXKERNEL = ../arm/zamax.c CAMAXKERNEL = zamax.S
ZAMAXKERNEL = ../arm/zamax.c ZAMAXKERNEL = zamax.S
SAMINKERNEL = ../arm/amin.c SAMINKERNEL = ../arm/amin.c
DAMINKERNEL = ../arm/amin.c DAMINKERNEL = ../arm/amin.c
@ -14,10 +14,10 @@ DMAXKERNEL = ../arm/max.c
SMINKERNEL = ../arm/min.c SMINKERNEL = ../arm/min.c
DMINKERNEL = ../arm/min.c DMINKERNEL = ../arm/min.c
ISAMAXKERNEL = ../arm/iamax.c ISAMAXKERNEL = iamax.S
IDAMAXKERNEL = ../arm/iamax.c IDAMAXKERNEL = iamax.S
ICAMAXKERNEL = ../arm/izamax.c ICAMAXKERNEL = izamax.S
IZAMAXKERNEL = ../arm/izamax.c IZAMAXKERNEL = izamax.S
ISAMINKERNEL = ../arm/iamin.c ISAMINKERNEL = ../arm/iamin.c
IDAMINKERNEL = ../arm/iamin.c IDAMINKERNEL = ../arm/iamin.c
@ -30,55 +30,55 @@ IDMAXKERNEL = ../arm/imax.c
ISMINKERNEL = ../arm/imin.c ISMINKERNEL = ../arm/imin.c
IDMINKERNEL = ../arm/imin.c IDMINKERNEL = ../arm/imin.c
SASUMKERNEL = ../arm/asum.c SASUMKERNEL = asum.S
DASUMKERNEL = ../arm/asum.c DASUMKERNEL = asum.S
CASUMKERNEL = ../arm/zasum.c CASUMKERNEL = casum.S
ZASUMKERNEL = ../arm/zasum.c ZASUMKERNEL = zasum.S
SAXPYKERNEL = ../arm/axpy.c SAXPYKERNEL = axpy.S
DAXPYKERNEL = ../arm/axpy.c DAXPYKERNEL = axpy.S
CAXPYKERNEL = ../arm/zaxpy.c CAXPYKERNEL = zaxpy.S
ZAXPYKERNEL = ../arm/zaxpy.c ZAXPYKERNEL = zaxpy.S
SCOPYKERNEL = ../arm/copy.c SCOPYKERNEL = copy.S
DCOPYKERNEL = ../arm/copy.c DCOPYKERNEL = copy.S
CCOPYKERNEL = ../arm/zcopy.c CCOPYKERNEL = copy.S
ZCOPYKERNEL = ../arm/zcopy.c ZCOPYKERNEL = copy.S
SDOTKERNEL = ../arm/dot.c SDOTKERNEL = dot.S
DDOTKERNEL = ../arm/dot.c DDOTKERNEL = dot.S
CDOTKERNEL = ../arm/zdot.c CDOTKERNEL = zdot.S
ZDOTKERNEL = ../arm/zdot.c ZDOTKERNEL = zdot.S
SNRM2KERNEL = ../arm/nrm2.c SNRM2KERNEL = nrm2.S
DNRM2KERNEL = ../arm/nrm2.c DNRM2KERNEL = nrm2.S
CNRM2KERNEL = ../arm/znrm2.c CNRM2KERNEL = znrm2.S
ZNRM2KERNEL = ../arm/znrm2.c ZNRM2KERNEL = znrm2.S
SROTKERNEL = ../arm/rot.c SROTKERNEL = rot.S
DROTKERNEL = ../arm/rot.c DROTKERNEL = rot.S
CROTKERNEL = ../arm/zrot.c CROTKERNEL = zrot.S
ZROTKERNEL = ../arm/zrot.c ZROTKERNEL = zrot.S
SSCALKERNEL = ../arm/scal.c SSCALKERNEL = scal.S
DSCALKERNEL = ../arm/scal.c DSCALKERNEL = scal.S
CSCALKERNEL = ../arm/zscal.c CSCALKERNEL = zscal.S
ZSCALKERNEL = ../arm/zscal.c ZSCALKERNEL = zscal.S
SSWAPKERNEL = ../arm/swap.c SSWAPKERNEL = swap.S
DSWAPKERNEL = ../arm/swap.c DSWAPKERNEL = swap.S
CSWAPKERNEL = ../arm/zswap.c CSWAPKERNEL = swap.S
ZSWAPKERNEL = ../arm/zswap.c ZSWAPKERNEL = swap.S
SGEMVNKERNEL = ../arm/gemv_n.c SGEMVNKERNEL = gemv_n.S
DGEMVNKERNEL = ../arm/gemv_n.c DGEMVNKERNEL = gemv_n.S
CGEMVNKERNEL = ../arm/zgemv_n.c CGEMVNKERNEL = zgemv_n.S
ZGEMVNKERNEL = ../arm/zgemv_n.c ZGEMVNKERNEL = zgemv_n.S
SGEMVTKERNEL = ../arm/gemv_t.c SGEMVTKERNEL = gemv_t.S
DGEMVTKERNEL = ../arm/gemv_t.c DGEMVTKERNEL = gemv_t.S
CGEMVTKERNEL = ../arm/zgemv_t.c CGEMVTKERNEL = zgemv_t.S
ZGEMVTKERNEL = ../arm/zgemv_t.c ZGEMVTKERNEL = zgemv_t.S
STRMMKERNEL = ../generic/trmmkernel_4x4.c STRMMKERNEL = ../generic/trmmkernel_4x4.c
DTRMMKERNEL = ../generic/trmmkernel_2x2.c DTRMMKERNEL = ../generic/trmmkernel_2x2.c