[Public] Snipped
> > > > A number of libs and drivers had special optimized AVX2 and AVX512 > > code paths for performance reasons, and these tended to have > > copy-pasted logic to build those files. Centralise that logic in the > > main drivers/ and lib/ meson.build files to avoid duplication. > > > > v5: fix RTE_ARCH_X86 macro, which broke crc library > > v4: rebase on latest main branch > > minor fixes following feedback > > limit use of -march=skylake-avx512 to when we don't already have a > > -march flag supporting AVX512. > > v3: add patch for event/dlb2 AVX512 handling. > > add common code for libraries as well as drivers. > > v2: add patch 4 to remove use of unnecessary CC_AVX2_SUPPORT flag > > > > > > Bruce Richardson (11): > > drivers: add generalized AVX build handling > > net/intel: use common AVX build code > > drivers/net: build use common AVX handling > > drivers/net: remove AVX2 build-time define > > event/dlb2: build using common AVX handling > > lib: add generalized AVX build handling > > acl: use common AVX build handling > > fib: use common AVX build handling > > net: simplify build-time logic for x86 > > net: use common AVX512 build code > > member: use common AVX512 build support > > > > drivers/event/dlb2/dlb2_sse.c | 4 ++ > > drivers/event/dlb2/meson.build | 16 +------- > > drivers/meson.build | 30 ++++++++++++++ > > drivers/net/bnxt/bnxt_ethdev.c | 2 - > > drivers/net/bnxt/meson.build | 10 +---- > > drivers/net/enic/meson.build | 10 +---- > > drivers/net/intel/i40e/meson.build | 26 +----------- > > drivers/net/intel/iavf/meson.build | 25 +----------- > > drivers/net/intel/ice/meson.build | 25 +----------- > > drivers/net/intel/idpf/meson.build | 25 +----------- > > drivers/net/nfp/meson.build | 10 +---- > > drivers/net/octeon_ep/meson.build | 13 +----- > > drivers/net/octeon_ep/otx_ep_ethdev.c | 4 -- > > drivers/net/virtio/meson.build | 9 +---- > > lib/acl/meson.build | 54 ++----------------------- > > lib/fib/dir24_8.c | 6 +-- > > lib/fib/meson.build | 18 +-------- > > lib/fib/trie.c | 6 +-- > > lib/member/meson.build | 46 ++++----------------- > > lib/meson.build | 34 +++++++++++++++- > > lib/net/meson.build | 58 +++------------------------ > > lib/net/rte_net_crc.c | 16 ++++---- > > 22 files changed, 114 insertions(+), 333 deletions(-) > > Thank you Bruce, this series lgtm. Series-Reviewed-by: vipin.vargh...@amd.com Series-Tested-by: thiyagaraja...@amd.com Tested on: SUT 1 & 2: AMD EPYC 8534P 64-Core Processor CPU : AVX-512 Enabled, Turbo Boost disabled and NPS-1 NIC: Intel E810-CQDA2 DPDK version: v25.03 Traffic generator: Pktgen-23.06.1. Number of Ports: 2 Total Speed: 200G. Patch apply: 11 patches. Testcase: testpmd io & l3fwd Test scenario: 2C2T–2 Ports–1Rx1Tx scenario(64B and 128B buffer sizes). Sumamry: On comparing the results with and without patch apply for both testpmd-io and l3fwd, the delta was less than 1%. > > > -- > David Marchand