From 74486799bb0cfed695a1036790e5f334a5522e41 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2026 12:22:09 +0200 Subject: [PATCH 1/3] Move quick return out of the scope of the DYNAMIC_ARCH conditional for SME --- interface/trsm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interface/trsm.c b/interface/trsm.c index 6584bb4d75..f25f666964 100644 --- a/interface/trsm.c +++ b/interface/trsm.c @@ -359,6 +359,8 @@ void CNAME(enum CBLAS_ORDER order, return; } + if (args.m == 0 || args.n == 0) return; + #if !defined(COMPLEX) && !defined(DOUBLE) && !defined(BFLOAT16) && !defined(HFLOAT16) #if defined(ARCH_ARM64) && (defined(USE_STRMM_KERNEL_DIRECT)||defined(DYNAMIC_ARCH)) #if defined(DYNAMIC_ARCH) @@ -368,7 +370,6 @@ if (strcmp(gotoblas_corename(), "armv9sme") == 0 #endif ) #endif - if (args.m == 0 || args.n == 0) return; if (order == CblasRowMajor && Diag == CblasNonUnit && Side == CblasLeft && m == lda && n == ldb) { if (Trans == CblasNoTrans) { (Uplo == CblasUpper ? STRMM_DIRECT_LNUN : STRMM_DIRECT_LNLN)(m, n, alpha, a, lda, b, ldb); From fd862d43b6330a90baa296d1a02aa6b6df9277e5 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2026 15:36:57 +0200 Subject: [PATCH 2/3] Remove redundant quick return --- interface/trsm.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/interface/trsm.c b/interface/trsm.c index f25f666964..ae35d0d3b7 100644 --- a/interface/trsm.c +++ b/interface/trsm.c @@ -383,8 +383,6 @@ if (strcmp(gotoblas_corename(), "armv9sme") == 0 #endif - if ((args.m == 0) || (args.n == 0)) return; - IDEBUG_START; FUNCTION_PROFILE_START(); From 59cfea08592d274912a4a789f82a7e2fb3a87d65 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 22 Apr 2026 15:38:04 +0200 Subject: [PATCH 3/3] Move quick return out of the scope of the potential DYNAMIC_ARCH check --- interface/symm.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/interface/symm.c b/interface/symm.c index ea00217050..4f51f9faf7 100644 --- a/interface/symm.c +++ b/interface/symm.c @@ -374,6 +374,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_SIDE Side, enum CBLAS_UPLO Uplo, return; } + if (args.m == 0 || args.n == 0) return; #if !defined(COMPLEX) && !defined(DOUBLE) && !defined(BFLOAT16) && !defined(HFLOAT16) #if defined(ARCH_ARM64) && (defined(USE_SSYMM_KERNEL_DIRECT)||defined(DYNAMIC_ARCH)) #if defined(DYNAMIC_ARCH) @@ -383,7 +384,6 @@ if (strcmp(gotoblas_corename(), "armv9sme") == 0 #endif ) #endif - if (args.m == 0 || args.n == 0) return; if (order == CblasRowMajor && m == lda && n == ldb && n == ldc) { if (Side == CblasLeft && Uplo == CblasUpper) { @@ -398,8 +398,6 @@ if (strcmp(gotoblas_corename(), "armv9sme") == 0 #endif - if (args.m == 0 || args.n == 0) return; - IDEBUG_START; FUNCTION_PROFILE_START();