From b6ec73e77c619f9c10d56ea78a50ea639a4490c4 Mon Sep 17 00:00:00 2001 From: Ayappan Perumal Date: Mon, 21 Oct 2024 07:38:03 -0500 Subject: [PATCH 1/2] Fix AIX build --- kernel/power/gemm_common.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/power/gemm_common.c b/kernel/power/gemm_common.c index 88fa52de5..2dd5a8982 100644 --- a/kernel/power/gemm_common.c +++ b/kernel/power/gemm_common.c @@ -28,7 +28,12 @@ #define USE_VECTOR_PAIRS #endif +#ifdef _AIX +#include +typedef __vector unsigned short vec_bf16; +#else typedef __vector IFLOAT vec_bf16; +#endif typedef __vector FLOAT vec_f32; typedef __vector unsigned char vec_uc8; From 020cce106876abc127705041f8eb2307d8117ef8 Mon Sep 17 00:00:00 2001 From: Ayappan Perumal Date: Wed, 23 Oct 2024 04:24:06 -0500 Subject: [PATCH 2/2] Fix build issues with gcc compiler as well --- kernel/power/gemm_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/power/gemm_common.c b/kernel/power/gemm_common.c index 2dd5a8982..adfbb85c2 100644 --- a/kernel/power/gemm_common.c +++ b/kernel/power/gemm_common.c @@ -49,7 +49,7 @@ FORCEINLINE void vec_load_pair(vec_f32 *dst, vec_f32 *src) #ifdef __clang__ vy0p = __builtin_vsx_lxvp(0L, (const __vector_pair *)(src)); #else - vy0p = *(__vector_pair *)(src); + vy0p = *(__vector_pair *)((void *)src); #endif __builtin_vsx_disassemble_pair((void *)(dst), &vy0p); #else @@ -66,7 +66,7 @@ FORCEINLINE void vec_store_pair(vec_f32 *dst, vec_f32 *src) #ifdef __clang__ __builtin_vsx_stxvp(vy0p, 0L, (__vector_pair *)(dst)); #else - *(__vector_pair *)(dst) = vy0p; + *(__vector_pair *)((void *)dst) = vy0p; #endif #else dst[0] = src[0];