From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id CB9778E7B for ; Mon, 2 Nov 2015 13:23:04 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP; 02 Nov 2015 04:22:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,234,1444719600"; d="scan'208";a="592482930" Received: from dhunt5x-mobl3.ger.corp.intel.com (HELO [10.237.208.62]) ([10.237.208.62]) by FMSMGA003.fm.intel.com with ESMTP; 02 Nov 2015 04:22:49 -0800 To: Jerin Jacob References: <1446212959-19832-1-git-send-email-david.hunt@intel.com> <1446212959-19832-2-git-send-email-david.hunt@intel.com> <20151102045728.GB16413@localhost.localdomain> From: "Hunt, David" Message-ID: <56375597.8070805@intel.com> Date: Mon, 2 Nov 2015 12:22:47 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151102045728.GB16413@localhost.localdomain> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v3 1/6] eal/arm: add 64-bit armv8 version of rte_memcpy.h X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Nov 2015 12:23:05 -0000 On 02/11/2015 04:57, Jerin Jacob wrote: > On Fri, Oct 30, 2015 at 01:49:14PM +0000, David Hunt wrote: >> Signed-off-by: David Hunt --snip-- >> +#ifndef _RTE_MEMCPY_ARM_64_H_ >> +#define _RTE_MEMCPY_ARM_64_H_ >> + >> +#include >> +#include >> + >> +#ifdef __cplusplus >> +extern "C" { >> +#endif >> + >> +#include "generic/rte_memcpy.h" >> + >> +#ifdef __ARM_NEON_FP > > SIMD is not optional in armv8 spec.So every armv8 machine will have > SIMD instruction unlike armv7.More over LDP/STP instruction is > not part of SIMD.So this check is not required or it can > be replaced with a check that select memcpy from either libc or this specific > implementation Jerin, I've just benchmarked the libc version against the hand-coded version of the memcpy routines, and the libc wins in most cases. This code was just an initial attempt at optimising the memccpy's, so I feel that with the current benchmark results, it would better just to remove the assembly versions, and use the libc version for the initial release on ARMv8. Then, in the future, the ARMv8 experts are free to submit an optimised version as a patch in the future. Does that sound reasonable to you? Rgds, Dave. --snip--