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