19/07/2017 11:21, Herbert Guan: > From: Thomas Monjalon [mailto:tho...@monjalon.net] > > 13/07/2017 05:16, Herbert Guan: > > > --- a/lib/librte_eal/common/include/arch/arm/rte_vect.h > > > +++ b/lib/librte_eal/common/include/arch/arm/rte_vect.h > > > +#if (GCC_VERSION < 40900) > > > +typedef uint64_t poly64_t; > > > +typedef uint64x2_t poly64x2_t; > > > +typedef uint8_t poly128_t __attribute__((vector_size(16), > > > aligned(16))); > > > +#endif > > > > I think a better fix would be to switch to DPDK types > > like rte_v128u8_t. > > Thanks a lot for your review and comment. > But I have some concern in this approach. "poly128_t" is for > ARM64 platform only and in fact it's more likely that rte_v128u8_t > (generic DPDK data type) could be defined from poly128_t > (ARM data type) which seems more reasonable.
How poly128_t is different from rte_v128u8_t? You are defining poly128_t as (vector_size(16),aligned(16)) and rte_v128u8_t is exactly that. Is it interpreted differently with newer compilers? In that case, you could at least fallback on rte_v128u8_t.