Hello, There seems to be compilation issues with clang(3.0-6.2) and current HEAD (0c6bc8e) within librte_table:
== Build lib/librte_table CC rte_table_lpm.o CC rte_table_lpm_ipv6.o CC rte_table_hash_key8.o /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:212:4: error: implicit declaration of function '_mm_minpos_epu16' is invalid in C99 [-Werror,-Wimplicit-function-declaration] lru_update(bucket, i); ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:14: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:212:4: error: initializing '__m128i' with an expression of incompatible type 'int'; lru_update(bucket, i); ^~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:229:4: error: initializing '__m128i' with an expression of incompatible type 'int'; lru_update(bucket, i); ^~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:241:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lru_update(bucket, pos); ^~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:858:4: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup1_stage2_lru(pkt_index, mbuf, bucket, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:624:2: note: expanded from: lru_update(bucket2, pos); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:912:3: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:912:3: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:936:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:936:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:948:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:948:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:979:4: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup1_stage2_lru(pkt_index, mbuf, bucket, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:624:2: note: expanded from: lru_update(bucket2, pos); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1033:3: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1033:3: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1057:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1057:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1069:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:793:2: note: expanded from: lru_update(bucket20, pos20); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:1069:2: error: initializing '__m128i' with an expression of incompatible type 'int'; lookup2_stage2_lru(pkt20_index, pkt21_index, mbuf20, mbuf21, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/marc/dpdk/lib/librte_table/rte_table_hash_key8.c:794:2: note: expanded from: lru_update(bucket21, pos21); \ ^ /home/marc/dpdk/lib/librte_table/rte_lru.h:157:10: note: expanded from: __m128i d = _mm_minpos_epu16(c); \ ^ ~~~~~~~~~~~~~~~~~~~ 18 errors generated. make[5]: *** [rte_table_hash_key8.o] Error 1 make[4]: *** [librte_table] Error 2 make[3]: *** [lib] Error 2 make[2]: *** [all] Error 2 make[1]: *** [x86_64-native-linuxapp-clang_install] Error 2 make: *** [install] Error 2 regards marc