Skip to content

Commit c3ce473

Browse files
authored
Merge pull request #5491 from martin-frbg/fixup5485
Rework definitions of ?FLOAT16_GEMM_GEMV_FORWARD to avoid undefined behavior
2 parents 49eca84 + fa912ce commit c3ce473

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

interface/gemm.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,8 +587,16 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS
587587
args.m, args.n, args.k, args.lda, args.ldb, args.ldc);
588588
#endif
589589

590-
#define BFLOAT16_GEMM_GEMV_FORWARD (!defined(BFLOAT16) || (!defined(BGEMM) && defined(SBGEMM_GEMV_FORWARD)) || (defined(BGEMM) && defined(BGEMM_GEMV_FORWARD)))
591-
#define HFLOAT16_GEMM_GEMV_FORWARD (!defined(HFLOAT16) || (!defined(HGEMM) && defined(SHGEMM_GEMV_FORWARD)) || (defined(HGEMM) && defined(HGEMM_GEMV_FORWARD)))
590+
#if (!defined(BFLOAT16) || (!defined(BGEMM) && defined(SBGEMM_GEMV_FORWARD)) || (defined(BGEMM) && defined(BGEMM_GEMV_FORWARD)))
591+
#define BFLOAT16_GEMM_GEMV_FORWARD 1
592+
#else
593+
#define BFLOAT16_GEMM_GEMV_FORWARD 0
594+
#endif
595+
#if (!defined(HFLOAT16) || (!defined(HGEMM) && defined(SHGEMM_GEMV_FORWARD)) || (defined(HGEMM) && defined(HGEMM_GEMV_FORWARD)))
596+
#define HFLOAT16_GEMM_GEMV_FORWARD 1
597+
#else
598+
#define HFLOAT16_GEMM_GEMV_FORWARD 0
599+
#endif
592600

593601
#if defined(GEMM_GEMV_FORWARD) && !defined(GEMM3M) && !defined(COMPLEX) && HFLOAT16_GEMM_GEMV_FORWARD && BFLOAT16_GEMM_GEMV_FORWARD
594602
#if defined(ARCH_ARM64)

0 commit comments

Comments
 (0)