diff --git a/interface/zgemv.c b/interface/zgemv.c index a335f6832..abf2aa710 100644 --- a/interface/zgemv.c +++ b/interface/zgemv.c @@ -239,6 +239,12 @@ void CNAME(enum CBLAS_ORDER order, buffer_size = (buffer_size + 3) & ~3; STACK_ALLOC(buffer_size, FLOAT, buffer); +#ifdef ARCH_X86_64 + // cgemv_t.S return NaN if there are NaN or Inf in the buffer (see bug #746) + if(trans && stack_alloc_size) + memset(buffer, 0, MIN(BUFFER_SIZE, sizeof(FLOAT) * buffer_size)); +#endif + #ifdef SMP if ( 1L * m * n < 1024L * GEMM_MULTITHREAD_THRESHOLD )