21/03/2024 18:27, Tyler Retzlaff: > On Thu, Mar 21, 2024 at 06:09:01PM +0100, Thomas Monjalon wrote: > > 20/03/2024 22:12, Tyler Retzlaff: > > > +#ifdef RTE_TOOLCHAIN_MSVC > > > +#include <intrin.h> > > > +#else > > > #include <x86intrin.h> > > > +#endif > > > > It is not the same include in MSVC? > > unfortunately intrin.h is vestigial in the monolithic approach. to use > any intrinsic you're supposed to include only the one and only true > header instead of vendor/arch feature specific headers. > > > Is it something we want to wrap in a DPDK header file? > > do you mean create a monolithic rte_intrinsic.h header that is > essentially > > #ifdef MSVC > #include <intrin.h> > #else > #include <x86intrin.h> > #include <immintrin.h> > #include <nmmintrin.h> > ... > #endif > > i assumed that doing something like this might be unpopular due to the > unnecessary namespace pollution.
We already have such a file. It is rte_vect.h. I suppose we should just make sure it is included consistently instead of x86intrin.h or immintrin.h This command will show where changes are required: git grep intrin.h