From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ravi Kerur Subject: [PATCH v3] Implement memcmp using SIMD intrinsics Date: Mon, 18 May 2015 13:01:42 -0700 Message-ID: <1431979303-1346-1-git-send-email-rkerur@gmail.com> To: dev@dpdk.org Return-path: Received: from mail-pd0-f177.google.com (mail-pd0-f177.google.com [209.85.192.177]) by dpdk.org (Postfix) with ESMTP id CB08AB38D for ; Mon, 18 May 2015 22:01:47 +0200 (CEST) Received: by pdbnk13 with SMTP id nk13so67032611pdb.1 for ; Mon, 18 May 2015 13:01:47 -0700 (PDT) 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" Background: After preliminary discussion with John (Zhihong) and Tim from Intel it was decided that it would be beneficial to use AVX/SSE intrinsics for memcmp similar to memcpy that had been implemeneted. In addition, we decided to use librte_hash as a test candidate to test both functionality and performance. Further discussions lead to complete functionality implementation of memory comparison and v3 code reflects that. Test was conducted on Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, Ubuntu 14.04, x86_64, 16GB DDR3 system. Ravi Kerur (1): Implement memcmp using Intel SIMD instrinsics. app/test/Makefile | 5 +- app/test/autotest_data.py | 19 + app/test/test_hash_perf.c | 36 +- app/test/test_memcmp.c | 229 ++++++ app/test/test_memcmp_perf.c | 339 ++++++++ .../common/include/arch/ppc_64/rte_memcmp.h | 62 ++ .../common/include/arch/x86/rte_memcmp.h | 900 +++++++++++++++++++++ lib/librte_eal/common/include/generic/rte_memcmp.h | 175 ++++ lib/librte_hash/rte_hash.c | 59 +- 9 files changed, 1789 insertions(+), 35 deletions(-) create mode 100644 app/test/test_memcmp.c create mode 100644 app/test/test_memcmp_perf.c create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_memcmp.h create mode 100644 lib/librte_eal/common/include/arch/x86/rte_memcmp.h create mode 100644 lib/librte_eal/common/include/generic/rte_memcmp.h -- 1.9.1