Builtin __builtin_ffsl is not available with MSVC therefore a
portable replacement should be used.

Function rte_ffs32 is already available in eal and should be used
instead.

Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com>
---
 drivers/net/mlx5/mlx5_tx.c    | 4 ++--
 drivers/net/mlx5/mlx5_utils.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_tx.c b/drivers/net/mlx5/mlx5_tx.c
index 39afca3d64..b2522e7170 100644
--- a/drivers/net/mlx5/mlx5_tx.c
+++ b/drivers/net/mlx5/mlx5_tx.c
@@ -629,8 +629,8 @@ mlx5_select_tx_function(struct rte_eth_dev *dev)
                }
                if (tmp == diff) {
                        tmp = txoff_func[i].olx ^ txoff_func[m].olx;
-                       if (__builtin_ffsl(txoff_func[i].olx & ~tmp) <
-                           __builtin_ffsl(txoff_func[m].olx & ~tmp)) {
+                       if (rte_ffs32(txoff_func[i].olx & ~tmp) <
+                           rte_ffs32(txoff_func[m].olx & ~tmp)) {
                                /* Lighter not requested offload. */
                                m = i;
                        }
diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5/mlx5_utils.c
index d882af6047..645bb118fb 100644
--- a/drivers/net/mlx5/mlx5_utils.c
+++ b/drivers/net/mlx5/mlx5_utils.c
@@ -84,7 +84,7 @@ mlx5_ipool_create(struct mlx5_indexed_pool_config *cfg)
        if (!cfg || (!cfg->malloc ^ !cfg->free) ||
            (cfg->per_core_cache && cfg->release_mem_en) ||
            (cfg->trunk_size && ((cfg->trunk_size & (cfg->trunk_size - 1)) ||
-           ((__builtin_ffs(cfg->trunk_size) + TRUNK_IDX_BITS) > 32))))
+           ((rte_ffs32(cfg->trunk_size) + TRUNK_IDX_BITS) > 32))))
                return NULL;
        pool = mlx5_malloc(MLX5_MEM_ZERO, sizeof(*pool) + cfg->grow_trunk *
                           sizeof(pool->grow_tbl[0]), RTE_CACHE_LINE_SIZE,
-- 
2.49.0.vfs.0.2

Reply via email to