diff options
| author | Sayed Adel <seiko@imavr.com> | 2021-07-02 04:58:37 +0200 |
|---|---|---|
| committer | Sayed Adel <seiko@imavr.com> | 2021-07-02 04:58:37 +0200 |
| commit | 820cb97bcad0d171c9efbb8fb8d7e987a0514aa9 (patch) | |
| tree | 40a6a2f01dfb5c400b0f642c01a63b61828c6c70 /numpy | |
| parent | 45c57078fd599194b49148fb66808f03490ee423 (diff) | |
| download | numpy-820cb97bcad0d171c9efbb8fb8d7e987a0514aa9.tar.gz | |
BUG, SIMD: Fix infinite loop during count non-zero on GCC-11
The issue appears when the compiler miss inlining a function that
returns or accepts a SIMD vector.
Diffstat (limited to 'numpy')
| -rw-r--r-- | numpy/core/src/multiarray/item_selection.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c index fb354ce54..2b8ea9e79 100644 --- a/numpy/core/src/multiarray/item_selection.c +++ b/numpy/core/src/multiarray/item_selection.c @@ -2131,7 +2131,7 @@ count_nonzero_bytes_384(const npy_uint64 * w) #if NPY_SIMD /* Count the zero bytes between `*d` and `end`, updating `*d` to point to where to keep counting from. */ -static NPY_INLINE NPY_GCC_OPT_3 npyv_u8 +NPY_FINLINE NPY_GCC_OPT_3 npyv_u8 count_zero_bytes_u8(const npy_uint8 **d, const npy_uint8 *end, npy_uint8 max_count) { const npyv_u8 vone = npyv_setall_u8(1); @@ -2150,7 +2150,7 @@ count_zero_bytes_u8(const npy_uint8 **d, const npy_uint8 *end, npy_uint8 max_cou return vsum8; } -static NPY_INLINE NPY_GCC_OPT_3 npyv_u16x2 +NPY_FINLINE NPY_GCC_OPT_3 npyv_u16x2 count_zero_bytes_u16(const npy_uint8 **d, const npy_uint8 *end, npy_uint16 max_count) { npyv_u16x2 vsum16; |
