On Fri, Mar 14, 2025 at 3:34 PM Andre Muezerie <andre...@linux.microsoft.com> wrote: > > __builtin_add_overflow is gcc specific. There's a need for a portable > version that can also be used with other compilers. > > v5: > - Combined patches 1 with 5 and 2 with 3. > > v4: > - Added define in ice_osdep.h to use portable version of > __builtin_add_overflow when using MSVC. > - Undid all changes from drivers/net/intel/ice/base/ice_nvm.c. > > v3: > - Rebase on top of latest main. > > Andre Muezerie (3): > eal: add portable version of __builtin_add_overflow > net/intel: use portable version of __builtin_add_overflow > app/test: add tests for portable version of __builtin_add_overflow > > MAINTAINERS | 1 + > app/test/meson.build | 1 + > app/test/test_math.c | 170 +++++++++++++++++++++++++ > doc/api/doxy-api-index.md | 1 + > drivers/net/intel/ice/base/ice_osdep.h | 5 + > lib/eal/include/meson.build | 1 + > lib/eal/include/rte_math.h | 46 +++++++ > 7 files changed, 225 insertions(+) > create mode 100644 app/test/test_math.c > create mode 100644 lib/eal/include/rte_math.h
I am not a fan of adding such public API, an internal API would be enough. Do you plan to add more helpers for math operations? For the current helper, the only user is a driver (base code). Can't we just wrap a __builtin_add_overflow (under #ifdef msvc) in the osdep.h header? -- David Marchand