Hi David,
On 09/10/2024 11:56, David Marchand wrote:
On Wed, Oct 9, 2024 at 11:51 AM David Marchand
<david.march...@redhat.com> wrote:
Hi Vladimir,
On Tue, Oct 8, 2024 at 7:16 PM Vladimir Medvedkin
<vladimir.medved...@intel.com> wrote:
diff --git a/lib/fib/dir24_8_avx512.c b/lib/fib/dir24_8_avx512.c
index 43dba28cfb..edd802abe4 100644
--- a/lib/fib/dir24_8_avx512.c
+++ b/lib/fib/dir24_8_avx512.c
@@ -10,7 +10,7 @@
static __rte_always_inline void
dir24_8_vec_lookup_x16(void *p, const uint32_t *ips,
- uint64_t *next_hops, int size)
+ uint64_t *next_hops, int size, bool be_addr)
{
struct dir24_8_tbl *dp = (struct dir24_8_tbl *)p;
__mmask16 msk_ext;
@@ -28,6 +28,16 @@ dir24_8_vec_lookup_x16(void *p, const uint32_t *ips,
res_msk = _mm512_set1_epi32(UINT16_MAX);
ip_vec = _mm512_loadu_si512(ips);
+ if (be_addr) {
+ const __m512i bswap32 = _mm512_set_epi8(
Some toolchains do not like _mm512_set_epi8 (reported by the CI).
Probably related to gcc commit 4e6a811fad69 ("avx512fintrin.h
(_mm512_set_epi16, [...]): New intrinsics.") introduced in gcc 9.
Some distributions in the CI come with a gcc < 9.
We had a similar situation in the hash library in the past,
fba335b4b204 ("hash: fix Toeplitz hash implementation").
Thanks, I'll change it with _mm512_set_epi32(), afaik it should be
supported by an old gcc
--
Regards,
Vladimir