diff --git a/O/OpenBLAS/OpenBLAS@0.3.23/bundled/patches/openblas-ppc64-gcc11.patch b/O/OpenBLAS/OpenBLAS@0.3.23/bundled/patches/openblas-ppc64-gcc11.patch new file mode 100644 index 00000000000..5b81a46dc9c --- /dev/null +++ b/O/OpenBLAS/OpenBLAS@0.3.23/bundled/patches/openblas-ppc64-gcc11.patch @@ -0,0 +1,41 @@ +From 79c15db348b7a9365a6abf3c32ebed3f4f1bbf62 Mon Sep 17 00:00:00 2001 +From: Ian McInerney +Date: Mon, 14 Aug 2023 21:36:35 +0100 +Subject: [PATCH] Fix power10 gcc intrinsic check + +__builtin_vsx_assemble_pair was only in GCC 10-11.2 and was replaced by +__builtin_vsx_build_pair thereafter. +--- + kernel/power/dgemm_small_kernel_nn_power10.c | 2 +- + kernel/power/dgemm_small_kernel_tn_power10.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/power/dgemm_small_kernel_nn_power10.c b/kernel/power/dgemm_small_kernel_nn_power10.c +index ecdc3e5c6..73f6d5b99 100644 +--- a/kernel/power/dgemm_small_kernel_nn_power10.c ++++ b/kernel/power/dgemm_small_kernel_nn_power10.c +@@ -167,7 +167,7 @@ typedef __vector unsigned char vec_t; + + #define INIT_1ACC() __builtin_mma_xxsetaccz(&acc0); + +-#if (defined(__GNUC__) && (__GNUC__ == 10)) ++#if (defined(__GNUC__) && (__GNUC__ == 10 || (__GNUC__ == 11 && __GNUC_MINOR__ <= 2))) + #if defined(_AIX) + #define LOAD_PAIR(pair, v0, v1) \ + __builtin_vsx_assemble_pair(&pair, (vec_t)v0, (vec_t)v1); +diff --git a/kernel/power/dgemm_small_kernel_tn_power10.c b/kernel/power/dgemm_small_kernel_tn_power10.c +index 93a942b02..426948185 100644 +--- a/kernel/power/dgemm_small_kernel_tn_power10.c ++++ b/kernel/power/dgemm_small_kernel_tn_power10.c +@@ -167,7 +167,7 @@ typedef __vector unsigned char vec_t; + + #define INIT_1ACC() __builtin_mma_xxsetaccz(&acc0); + +-#if (defined(__GNUC__) && (__GNUC__ == 10)) ++#if (defined(__GNUC__) && (__GNUC__ == 10 || (__GNUC__ == 11 && __GNUC_MINOR__ <= 2))) + #if defined(_AIX) + #define LOAD_PAIR(pair, v0, v1) \ + __builtin_vsx_assemble_pair(&pair, (vec_t)v0, (vec_t)v1); +-- +2.41.0 +