Added lpm4 lookupx4 implementation by using Arm SVE extension. The SVE is Scalable Vector Extension which is exposed to the user with a vector length agnostic interface. Refer to [1] for more information about SVE.
Configuration was added for Neoverse N2 CPU which has SVE support. Some bugs were fixed so compiling with sve enabled can pass. [1] https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-instruction-emulator/resources/tutorials/sve --- v2: Fixed tbl8 group index calculation. (Vladimir) Added N2 config. Fixed compiling when sve was enabled. Ruifeng Wang (5): lpm: add sve support for lookup on Arm platform net/hns3: fix build with sve enabled net/octeontx: fix build with sve enabled common/octeontx2: fix build with sve enabled config: add Arm Neoverse N2 config/arm/arm64_n2_linux_gcc | 17 +++++ config/arm/meson.build | 11 +++- drivers/common/octeontx2/otx2_io_arm64.h | 37 ++--------- drivers/net/hns3/meson.build | 2 +- drivers/net/octeontx/base/octeontx_io.h | 16 ++--- lib/librte_eal/arm/include/rte_vect.h | 3 + lib/librte_lpm/meson.build | 2 +- lib/librte_lpm/rte_lpm.h | 4 ++ lib/librte_lpm/rte_lpm_sve.h | 83 ++++++++++++++++++++++++ 9 files changed, 127 insertions(+), 48 deletions(-) create mode 100644 config/arm/arm64_n2_linux_gcc create mode 100644 lib/librte_lpm/rte_lpm_sve.h -- 2.25.1