mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
dpcls-avx512: Enable avx512 vector popcount instruction.
This commit enables the AVX512-VPOPCNTDQ Vector Popcount instruction. This instruction is not available on every CPU that supports the AVX512-F Foundation ISA, hence it is enabled only when the additional VPOPCNTDQ ISA check is passed. The vector popcount instruction is used instead of the AVX512 popcount emulation code present in the avx512 optimized DPCLS today. It provides higher performance in the SIMD miniflow processing as that requires the popcount to calculate the miniflow block indexes. Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
This commit is contained in:
committed by
Ian Stokes
parent
60c9e1a2f3
commit
1e31489134
@@ -706,6 +706,7 @@ dpdk_get_cpu_has_isa(const char *arch, const char *feature)
|
||||
#if __x86_64__
|
||||
/* CPU flags only defined for the architecture that support it. */
|
||||
CHECK_CPU_FEATURE(feature, "avx512f", RTE_CPUFLAG_AVX512F);
|
||||
CHECK_CPU_FEATURE(feature, "avx512vpopcntdq", RTE_CPUFLAG_AVX512VPOPCNTDQ);
|
||||
CHECK_CPU_FEATURE(feature, "bmi2", RTE_CPUFLAG_BMI2);
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user