From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115824 invoked by alias); 29 Jun 2017 18:42:38 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 115811 invoked by uid 89); 29 Jun 2017 18:42:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=H*c:application X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 29 Jun 2017 18:42:36 +0000 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BD4AFC058EAE for ; Thu, 29 Jun 2017 18:42:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com BD4AFC058EAE Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=vinschen@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com BD4AFC058EAE Received: from calimero.vinschen.de (ovpn-117-36.ams2.redhat.com [10.36.117.36]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7F8BC7FDC9 for ; Thu, 29 Jun 2017 18:42:34 +0000 (UTC) Received: by calimero.vinschen.de (Postfix, from userid 500) id 3E628A80618; Thu, 29 Jun 2017 20:42:33 +0200 (CEST) Date: Thu, 29 Jun 2017 18:42:00 -0000 From: Corinna Vinschen To: newlib@sourceware.org Subject: Re: [AArch64] Optimized memcmp Message-ID: <20170629184233.GZ6201@calimero.vinschen.de> Reply-To: newlib@sourceware.org Mail-Followup-To: newlib@sourceware.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="sBvc846/5FzkyDmz" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.0 (2017-02-23) X-SW-Source: 2017/txt/msg00529.txt.bz2 --sBvc846/5FzkyDmz Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 1137 On Jun 29 14:32, Wilco Dijkstra wrote: > This is an optimized memcmp for AArch64. This is a complete rewrite > using a different algorithm. The previous version split into cases > where both inputs were aligned, the inputs were mutually aligned and > unaligned using a byte loop. The new version combines all these cases, > while small inputs of less than 8 bytes are handled separately. >=20 > This allows the main code to be sped up using unaligned loads since > there are now at least 8 bytes to be compared. After the first 8 bytes, > align the first input. This ensures each iteration does at most one > unaligned access and mutually aligned inputs behave as aligned. > After the main loop, process the last 8 bytes using unaligned accesses. >=20 > This improves performance of (mutually) aligned cases by 25% and=20 > unaligned by >500% (yes >6 times faster) on large inputs. >=20 > ChangeLog: > 2017-06-28 Wilco Dijkstra >=20 > * newlib/libc/machine/aarch64/memcmp.S (memcmp):=20 > Rewrite of optimized memcmp. Pushed. Thanks, Corinna --=20 Corinna Vinschen Cygwin Maintainer Red Hat --sBvc846/5FzkyDmz Content-Type: application/pgp-signature; name="signature.asc" Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJZVUoZAAoJEPU2Bp2uRE+gvq4P/2fvI389qx2VAk/09jwStZkp vGKdqCO44i5aLNqswaQ0XkDZunyYPfbzOK+yPm+xEjhbdKhDzuwmztWqbEUPpm+V UzFdP6IBqhg0elRXl2vQ2z086HSBGfdk+rRLmpnJAEQt59Ec45Tqi7JkrRwcKi7e 1YJm7pNl0R47LNON+vAfKTsgqjBGQldN96dnTce5pL+B4qs7wpdgh0OAxXldWAKt qHYFIv2T090yTWA1gEYXcxcC1El6pBYDXbQsYsT2Z3qbjSOQXAk5/ZFCYoAhelwz q4+L2v1OdtP7gXlnAG4QRZ96yd3BgZgse8de00eby0l+vC5qMu37oKrPCxx9+gkw lUtmjDNLng10rmudtJqROJzcC0F5gEYULvn5+fzB6HO9Mg87yuQKoYDUJsW3G25v QNw17xqnaPslCbFseL0j4FSIAPe7zOI5qPTczj0IWnAw/m1nmM2M/CP84nhpQC1g eIr+topRDyh/PlyoOmd5ThwslaPrKZHZ38u0N2RgRJhJrQSV4Kjn+6B0e7jes1p1 XZl/HFnNR0KKkQnB0RsYDf+hVqJUk+8W7VU2hlqEtAtDxXjR6GfsPSYsrp2Lr6LB ElGRNWi7BdXHs9nINCkLxZcg7nSiaNOmhaswuuPqs1W6X+G/f1T7mTCr72sqYc5K WZRdLAIptSfTlVgsfTNF =jWfn -----END PGP SIGNATURE----- --sBvc846/5FzkyDmz--