On Thu, Mar 21, 2024 at 07:01:17PM +0100, Thomas Monjalon wrote: > 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
there were some corner cases i can't recall, but since you identified rte_vect.h is the preferred header let me do some experiments to see what i can learn. i'll either submit a series addressing it specifically or come back with details. thanks! > >