From 0256b035ac8b8c37d3ac40cbb179dfff47a587a4 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 3 Nov 2026 19:04:07 +0100 Subject: [PATCH] Restore pre-5573 bf16to32 conversion to recover performance of non-hardware assisted SBGEMM --- kernel/generic/conversion_macros.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/generic/conversion_macros.h b/kernel/generic/conversion_macros.h index 69f8520128..37fd77cc67 100644 --- a/kernel/generic/conversion_macros.h +++ b/kernel/generic/conversion_macros.h @@ -31,9 +31,19 @@ static float bfloat16tof32 (bfloat16 value) { +#if 0 blasint one = 1; float result; sbf16tos_(&one, &value, &one, &result, &one); +#else + float result = 0; + unsigned short* q = (unsigned short*) &result; +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + q[0] = value; +#else + q[1] = value; +#endif +#endif return result; }