|
|
|
@@ -417,21 +417,24 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS |
|
|
|
|
|
|
|
PRINT_DEBUG_CNAME; |
|
|
|
|
|
|
|
#if !defined(COMPLEX) && !defined(DOUBLE) && !defined(BFLOAT16) && defined(USE_SGEMM_KERNEL_DIRECT) |
|
|
|
#if defined(DYNAMIC_ARCH) && defined(ARCH_x86) |
|
|
|
if (support_avx512() ) |
|
|
|
#if !defined(COMPLEX) && !defined(DOUBLE) && !defined(BFLOAT16) |
|
|
|
#if defined(ARCH_x86) && (defined(USE_SGEMM_KERNEL_DIRECT)||defined(DYNAMIC_ARCH)) |
|
|
|
#if defined(DYNAMIC_ARCH) |
|
|
|
if (support_avx512() ) |
|
|
|
#endif |
|
|
|
if (beta == 0 && alpha == 1.0 && order == CblasRowMajor && TransA == CblasNoTrans && TransB == CblasNoTrans && SGEMM_DIRECT_PERFORMANT(m,n,k)) { |
|
|
|
SGEMM_DIRECT(m, n, k, a, lda, b, ldb, c, ldc); |
|
|
|
return; |
|
|
|
} |
|
|
|
#endif |
|
|
|
#if defined(DYNAMIC_ARCH) && defined(ARCH_ARM64) |
|
|
|
if (support_sme1()){ |
|
|
|
#if defined(ARCH_ARM64) && (defined(USE_SGEMM_KERNEL_DIRECT)||defined(DYNAMIC_ARCH)) |
|
|
|
#if defined(DYNAMIC_ARCH) |
|
|
|
if (support_sme1()) |
|
|
|
#endif |
|
|
|
if (beta == 0 && alpha == 1.0 && order == CblasRowMajor && TransA == CblasNoTrans && TransB == CblasNoTrans) { |
|
|
|
SGEMM_DIRECT(m, n, k, a, lda, b, ldb, c, ldc); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|