mirror of
https://github.com/amd/blis.git
synced 2026-05-26 15:34:23 +00:00
Details:
- In bli_edge_case_macro_defs.h, the GEMM_UKR_SETUP_CT_PRE() and
GEMMTRSM_UKR_SETUP_CT_PRE() macros previously declared their temporary
ct microtiles as:
PASTEMAC(ch,ctype)
_ct[ BLIS_STACK_BUF_MAX_SIZE / sizeof( PASTEMAC(ch,type) ) ] \
__attribute__((aligned(alignment))); \
The problem here is that sizeof( PASTEMAC(ch,type) ) evaluates to
things like sizeof( BLIS_DOUBLE ), not sizeof( double ), and since
BLIS_DOUBLE is an enum, it is typically an int, which means the
sizeof() expression is evaluating to the wrong value. This was likely
a benign bug, though, since BLIS does not support any computational
datatypes that are smaller than sizeof( int ), which means the ct
array would be *over*-allocated rather than underallocated. Thanks
to @moon-chilled for identifying and reporting this bug in #624.
- CREDITS file update.