[PATCH v15 0/6] add pointer compression API
David Marchand
david.marchand at redhat.com
Mon Jun 17 15:57:08 CEST 2024
On Mon, Jun 17, 2024 at 3:47 PM Paul Szczepanek <paul.szczepanek at arm.com> wrote:
> This will solve it:
>
> diff --git a/lib/ptr_compress/rte_ptr_compress.h
> b/lib/ptr_compress/rte_ptr_compress.h
> index b9ab17b2db..a779f21fda 100644
> --- a/lib/ptr_compress/rte_ptr_compress.h
> +++ b/lib/ptr_compress/rte_ptr_compress.h
> @@ -141,7 +141,7 @@ rte_ptr_compress_32_shift(void *ptr_base, void *
> const *src_table,
> i += svcntd();
> } while (i < n);
> #elif defined __ARM_NEON && !defined RTE_ARCH_ARMv8_AARCH32
> - uint64_t ptr_diff;
> + uintptr_t ptr_diff;
> uint64x2_t v_ptr_table;
> /* right shift is done by left shifting by negative int */
> int64x2_t v_shift = vdupq_n_s64(-bit_shift);
> @@ -202,7 +202,7 @@ rte_ptr_decompress_32_shift(void *ptr_base, uint32_t
> const *src_table,
> i += svcntd();
> } while (i < n);
> #elif defined __ARM_NEON && !defined RTE_ARCH_ARMv8_AARCH32
> - uint64_t ptr_diff;
> + uintptr_t ptr_diff;
> uint64x2_t v_ptr_table;
> int64x2_t v_shift = vdupq_n_s64(bit_shift);
> uint64x2_t v_ptr_base = vdupq_n_u64((uint64_t)ptr_base);
> @@ -215,7 +215,7 @@ rte_ptr_decompress_32_shift(void *ptr_base, uint32_t
> const *src_table,
> }
> /* process leftover single item in case of odd number of n */
> if (unlikely(n & 0x1)) {
> - ptr_diff = ((uint64_t) src_table[i]) << bit_shift;
> + ptr_diff = ((uintptr_t) src_table[i]) << bit_shift;
> dest_table[i] = RTE_PTR_ADD(ptr_base, ptr_diff);
> }
> #else
>
> Do you want me to make a separate patch?
Yes please.
--
David Marchand
More information about the dev
mailing list