python3-numpy: remove NPY_INLINE, use inline instead

The build fails when DEBUG_BUILD is enabled with GCC-13 as [1] and [2].

Fixes:
   | numpy/core/src/umath/simd.inc.src:977:20: note: called from here
   | 977 |     @vtype@ zeros = _mm512_setzero_@vsuffix@();
      |                    ^~~~~~~~~~~~~~~~~~~
   | numpy/core/src/umath/simd.inc.src:596:1: error: inlining failed in call to ‘always_inline’ ‘avx512_get_full_load_mask_ps’: target specific option mismatch
  596 | avx512_get_full_load_mask_ps(void)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | numpy/core/src/umath/simd.inc.src:976:27: note: called from here
  976 |     @mask@ load_mask = avx512_get_full_load_mask_@vsuffix@();
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | /usr/lib/gcc/x86_64-redhat-linux/13/include/avx512fintrin.h:6499:1: error: inlining failed in call to ‘always_inline’ ‘_mm512_loadu_si512’: target specific option mismatch

Reference: 3947b1a023

[1] https://git.openembedded.org/openembedded-core/commit/?id=8596678667797971559aed962b1c204266032186
[2] http://errors.yoctoproject.org/Errors/Details/689841/

(From OE-Core rev: 77a64a8686b6c9ef3bc6adbce6cdc442096decfd)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Mingli Yu
2023-06-29 11:29:09 +08:00
committed by Steve Sakoman
parent 8bf60de476
commit 3ee2522d8a
2 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,135 @@
From f2a722aa30a29709bb9b5f60fc6d20a10fe6b4f5 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Wed, 28 Jun 2023 17:58:52 +0800
Subject: [PATCH] simd.inc.src: Change NPY_INLINE to inline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes:
| numpy/core/src/umath/simd.inc.src:977:20: note: called from here
| 977 | @vtype@ zeros = _mm512_setzero_@vsuffix@();
| ^~~~~~~~~~~~~~~~~~~
| numpy/core/src/umath/simd.inc.src:596:1: error: inlining failed in call to always_inline avx512_get_full_load_mask_ps: target specific option mismatch
596 | avx512_get_full_load_mask_ps(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| numpy/core/src/umath/simd.inc.src:976:27: note: called from here
976 | @mask@ load_mask = avx512_get_full_load_mask_@vsuffix@();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| /usr/lib/gcc/x86_64-redhat-linux/13/include/avx512fintrin.h:6499:1: error: inlining failed in call to always_inline _mm512_loadu_si512: target specific option mismatch
Upstream-Status: Inappropriate [The file simd.inc.src have been removed in new version as
https://github.com/numpy/numpy/commit/640e85017aa8eac3e9be68b475acf27d623b16b7]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
numpy/core/src/umath/simd.inc.src | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/numpy/core/src/umath/simd.inc.src b/numpy/core/src/umath/simd.inc.src
index d6c9a7e..39aec9a 100644
--- a/numpy/core/src/umath/simd.inc.src
+++ b/numpy/core/src/umath/simd.inc.src
@@ -61,11 +61,11 @@
*/
#if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS
-static NPY_INLINE NPY_GCC_TARGET_AVX512F void
+static inline NPY_GCC_TARGET_AVX512F void
AVX512F_@func@_@TYPE@(@type@*, @type@*, const npy_intp n, const npy_intp stride);
#endif
-static NPY_INLINE int
+static inline int
run_unary_avx512f_@func@_@TYPE@(char **args, const npy_intp *dimensions, const npy_intp *steps)
{
#if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS
@@ -99,11 +99,11 @@ run_unary_avx512f_@func@_@TYPE@(char **args, const npy_intp *dimensions, const n
*/
#if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS && @EXISTS@
-static NPY_INLINE NPY_GCC_TARGET_AVX512_SKX void
+static inline NPY_GCC_TARGET_AVX512_SKX void
AVX512_SKX_@func@_@TYPE@(npy_bool*, @type@*, const npy_intp n, const npy_intp stride);
#endif
-static NPY_INLINE int
+static inline int
run_@func@_avx512_skx_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS && @EXISTS@
@@ -144,7 +144,7 @@ sse2_@func@_@TYPE@(@type@ *, @type@ *, const npy_intp n);
#endif
-static NPY_INLINE int
+static inline int
run_@name@_simd_@func@_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if @vector@ && defined NPY_HAVE_SSE2_INTRINSICS
@@ -169,7 +169,7 @@ sse2_@kind@_@TYPE@(npy_bool * op, @type@ * ip1, npy_intp n);
#endif
-static NPY_INLINE int
+static inline int
run_@kind@_simd_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if @vector@ && defined NPY_HAVE_SSE2_INTRINSICS
@@ -205,7 +205,7 @@ static void
sse2_reduce_@kind@_BOOL(npy_bool * op, npy_bool * ip, npy_intp n);
#endif
-static NPY_INLINE int
+static inline int
run_binary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if defined NPY_HAVE_SSE2_INTRINSICS
@@ -220,7 +220,7 @@ run_binary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp co
}
-static NPY_INLINE int
+static inline int
run_reduce_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if defined NPY_HAVE_SSE2_INTRINSICS
@@ -245,7 +245,7 @@ static void
sse2_@kind@_BOOL(npy_bool *, npy_bool *, const npy_intp n);
#endif
-static NPY_INLINE int
+static inline int
run_unary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps)
{
#if defined NPY_HAVE_SSE2_INTRINSICS
@@ -875,7 +875,7 @@ NPY_FINLINE NPY_GCC_OPT_3 NPY_GCC_TARGET_@ISA@ @vtype@d
*/
#if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS
-static NPY_INLINE NPY_GCC_TARGET_AVX512_SKX void
+static inline NPY_GCC_TARGET_AVX512_SKX void
AVX512_SKX_@func@_@TYPE@(npy_bool* op, @type@* ip, const npy_intp array_size, const npy_intp steps)
{
const npy_intp stride_ip = steps/(npy_intp)sizeof(@type@);
@@ -954,7 +954,7 @@ AVX512_SKX_@func@_@TYPE@(npy_bool* op, @type@* ip, const npy_intp array_size, co
*/
#if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS
-static NPY_GCC_OPT_3 NPY_INLINE NPY_GCC_TARGET_AVX512F void
+static NPY_GCC_OPT_3 inline NPY_GCC_TARGET_AVX512F void
AVX512F_@func@_@TYPE@(@type@ * op,
@type@ * ip,
const npy_intp array_size,
@@ -1001,7 +1001,7 @@ AVX512F_@func@_@TYPE@(@type@ * op,
/**end repeat1**/
#if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS
-static NPY_GCC_OPT_3 NPY_INLINE NPY_GCC_TARGET_AVX512F void
+static NPY_GCC_OPT_3 inline NPY_GCC_TARGET_AVX512F void
AVX512F_absolute_@TYPE@(@type@ * op,
@type@ * ip,
const npy_intp array_size,
--
2.25.1