Fix the type of offset to use portable uintptr_t instead of uint64_t. Fixes: 077596a4b077 ("ptr_compress: add pointer compression library")
Reviewed-by: Nick Connolly <nick.conno...@arm.com> Signed-off-by: Paul Szczepanek <paul.szczepa...@arm.com> --- lib/ptr_compress/rte_ptr_compress.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ptr_compress/rte_ptr_compress.h b/lib/ptr_compress/rte_ptr_compress.h index ca746970c0..9742a9594a 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 -- 2.25.1