On 1/16/2020 7:09 AM, Xiaolong Ye wrote: > Move the conditional compilation block to the inner check helper, so we > can reduce the number of multiple ifdef check pairs used. > > Signed-off-by: Xiaolong Ye <xiaolong...@intel.com>
<...> > @@ -2794,10 +2792,8 @@ ice_tx_done_cleanup(void *txq, uint32_t free_cnt) > struct ice_adapter *ad = > ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > > -#ifdef RTE_ARCH_X86 > if (ad->tx_vec_allowed) > return ice_tx_done_cleanup_vec(q, free_cnt); > -#endif > if (ad->tx_simple_allowed) > return ice_tx_done_cleanup_simple(q, free_cnt); > else > @@ -2953,7 +2949,6 @@ ice_set_rx_function(struct rte_eth_dev *dev) > PMD_INIT_FUNC_TRACE(); > struct ice_adapter *ad = > ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > -#ifdef RTE_ARCH_X86 > struct ice_rx_queue *rxq; > int i; > bool use_avx2 = false; The build is still failing for arm, some defines like 'RTE_CPUFLAG_AVX2' & 'RTE_CPUFLAG_AVX512F' or functions 'ice_rxq_vec_setup', 'ice_recv_pkts_vec', 'ice_recv_scattered_pkts_vec' etc only defined for x86 It looks like more work is required, to created dummy versions of these failin functions also moving 'ice_rx_vec_dev_check()' form 'ice_rxtx_vec_sse.c' to 'ice_rxtx.c', otherwise we are having chicken-egg problem. So needs something similar to done in i40e. If it is too much work for rc1, we can with existing #ifdef for now, up to you.