mirror of
https://github.com/amd/blis.git
synced 2026-04-19 23:28:52 +00:00
Fixed bug in bli_dgemm_avx512 8x24 native kernel.
- Data-type of m, n, k,ldc is dim_t which will be int32_t for LP64 case. - When loading 64-bit registers using "mov" instructions, mov(rax, var(m)), the "m" should be 64-bit otherwise incorrect values gets loaded. Fix: We typecast these variables to int64_t before loading into registers. AMD-Internal: [CPUPL-5819] Change-Id: I16043ac168a79ff9358c0c1768989a81e3c6b0e0
This commit is contained in:
committed by
Shubham Sharma
parent
16653ed208
commit
1833ee70cd
@@ -1042,6 +1042,10 @@ void bli_dgemm_avx512_asm_8x24(
|
||||
LEA(RCX, MEM(RCX, R10, 1)) \
|
||||
|
||||
#define PRE_K_LOOP() \
|
||||
const int64_t n = n0; \
|
||||
const int64_t m = m0; \
|
||||
const int64_t k = k0; \
|
||||
const int64_t ldc = ldc0; \
|
||||
BEGIN_ASM() \
|
||||
\
|
||||
MOV(RDI, VAR(n)) /* load N into RDI */ \
|
||||
@@ -1128,13 +1132,13 @@ void bli_dgemm_avx512_asm_8x24(
|
||||
*/
|
||||
BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_b0
|
||||
(
|
||||
dim_t n,
|
||||
dim_t m,
|
||||
dim_t k,
|
||||
dim_t n0,
|
||||
dim_t m0,
|
||||
dim_t k0,
|
||||
double* c,
|
||||
double* a,
|
||||
double* b,
|
||||
dim_t ldc,
|
||||
dim_t ldc0,
|
||||
double* beta
|
||||
)
|
||||
{
|
||||
@@ -1159,13 +1163,13 @@ BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_b0
|
||||
*/
|
||||
BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_b1
|
||||
(
|
||||
dim_t n,
|
||||
dim_t m,
|
||||
dim_t k,
|
||||
dim_t n0,
|
||||
dim_t m0,
|
||||
dim_t k0,
|
||||
double* c,
|
||||
double* a,
|
||||
double* b,
|
||||
dim_t ldc,
|
||||
dim_t ldc0,
|
||||
double* beta
|
||||
)
|
||||
{
|
||||
@@ -1190,13 +1194,13 @@ BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_b1
|
||||
*/
|
||||
BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_bm1
|
||||
(
|
||||
dim_t n,
|
||||
dim_t m,
|
||||
dim_t k,
|
||||
dim_t n0,
|
||||
dim_t m0,
|
||||
dim_t k0,
|
||||
double* c,
|
||||
double* a,
|
||||
double* b,
|
||||
dim_t ldc,
|
||||
dim_t ldc0,
|
||||
double* beta
|
||||
)
|
||||
{
|
||||
@@ -1223,13 +1227,13 @@ BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_bm1
|
||||
*/
|
||||
BLIS_INLINE void bli_dgemm_avx512_asm_8x24_macro_kernel_bn
|
||||
(
|
||||
dim_t n,
|
||||
dim_t m,
|
||||
dim_t k,
|
||||
dim_t n0,
|
||||
dim_t m0,
|
||||
dim_t k0,
|
||||
double* c,
|
||||
double* a,
|
||||
double* b,
|
||||
dim_t ldc,
|
||||
dim_t ldc0,
|
||||
double* beta
|
||||
)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user