From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lu Subject: Re: [PATCH v7 1/7] hash: replace existing hash library with cuckoo hash implementation Date: Thu, 16 Jul 2015 17:39:47 +0800 Message-ID: <001601d0bfab$6c4071e0$44c155a0$@com> References: <1436571020-16252-1-git-send-email-pablo.de.lara.guarch@intel.com> <1436573936-15956-1-git-send-email-pablo.de.lara.guarch@intel.com> <1436573936-15956-2-git-send-email-pablo.de.lara.guarch@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: 'Pablo de Lara' , Return-path: Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0074.outbound.protection.outlook.com [157.55.234.74]) by dpdk.org (Postfix) with ESMTP id B9BAA902 for ; Thu, 16 Jul 2015 11:40:12 +0200 (CEST) In-Reply-To: <1436573936-15956-2-git-send-email-pablo.de.lara.guarch@intel.com> Content-Language: zh-cn List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" >diff --git a/lib/librte_hash/rte_cuckoo_hash.c b/lib/librte_hash/rte_cuckoo_hash.c >new file mode 100644 >index 0000000..50e3acd >--- /dev/null >+++ b/lib/librte_hash/rte_cuckoo_hash.c >@@ -0,0 +1,1027 @@ ... >+ >+/* Functions to compare multiple of 16 byte keys (up to 128 bytes) */ >+static int >+rte_hash_k16_cmp_eq(const void *key1, const void *key2, size_t key_len >__rte_unused) >+{ >+ const __m128i k1 = _mm_loadu_si128((const __m128i *) key1); >+ const __m128i k2 = _mm_loadu_si128((const __m128i *) key2); >+ const __m128i x = _mm_xor_si128(k1, k2); >+ >+ return !_mm_test_all_zeros(x, x); >+} ... When compiling the latest dev DPDK for non-x86 arch, it fails on the above code, as the SSE is x86 specific defined in . Is it possible to replace this function with platform independent code? Thanks -Zhigang Lu