On Thu, Dec 5, 2024 at 9:36 PM Andre Muezerie <andre...@linux.microsoft.com> wrote: > > MSVC does not support inline assembly so use movdiri intrinsic and > provide abstracted rte_ffs{32,64} inline functions instead of directly > using GCC built-ins. > > v2: > * Moved constants to the right side of the comparison > * Added tests for rte_ffs32 and rte_ffs64 functions > > Andre Muezerie (1): > app/test: add test for rte_ffs32 and rte_ffs64 functions. > > Tyler Retzlaff (2): > eal: provide movdiri for MSVC > eal: add rte ffs32 and rte ffs64 inline functions > > app/test/test_bitops.c | 38 ++++++++++++++++++++++++++++++++++++ > lib/eal/include/rte_bitops.h | 34 ++++++++++++++++++++++++++++++++ > lib/eal/x86/include/rte_io.h | 4 ++++ > 3 files changed, 76 insertions(+) >
I see nothing wrong with adding those wrappers to ease MSVC support. Just, those two ffs helpers should be marked experimental. And the unit tests for counting/searching bits had been separated in a dedicated app/test/test_bitcount.c. -- David Marchand