From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20873 invoked by alias); 23 Jan 2013 16:37:52 -0000 Received: (qmail 20722 invoked by uid 22791); 23 Jan 2013 16:37:50 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SARE_SUB_6CONS_WORD X-Spam-Check-By: sourceware.org Received: from mail-ea0-f177.google.com (HELO mail-ea0-f177.google.com) (209.85.215.177) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 23 Jan 2013 16:37:44 +0000 Received: by mail-ea0-f177.google.com with SMTP id n13so3425079eaa.36 for ; Wed, 23 Jan 2013 08:37:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type:x-gm-message-state; bh=CnoJuxolgU9RqAt4RI4jB7R38Zm88jiVgz2jIGytcTg=; b=Rdls/EjkOt79c1TxvGBe9IQSbGdc9IKI2jYiz2KUfJdOazFEdQNZKQWtq4QynoyCW5 cQDh+CYHrhQpC2D4/C6wbwFo5/4OknVsrCBQLRp8z6sSJeEZriqRXh/0ykL58NJli5wG KAuko6y6jjxmgAwqvAi1V4Ukja5DsLAOvSiA/rVreYh0pyaRbWsMdfOR+KQHTSMg5gQy mGdbANpZC1pKhhR+L6tOzsXImjoQMPBjdjJTjYJ+il765aomvfAHKmOem6w8fFSyUBPC WstQkd0CjCV1bhkAi+mRP60fi/GCabv6mTF3LbYtk5XUWFbhC2OOIaz8VtEQJrBce96e h8aA== MIME-Version: 1.0 X-Received: by 10.14.3.137 with SMTP id 9mr5936193eeh.2.1358959062838; Wed, 23 Jan 2013 08:37:42 -0800 (PST) Received: by 10.14.29.78 with HTTP; Wed, 23 Jan 2013 08:37:42 -0800 (PST) Date: Wed, 23 Jan 2013 16:37:00 -0000 Message-ID: Subject: [PATCH] AArch64 optimized strncmp implementation. From: Marcus Shawcroft To: libc-ports@sourceware.org Content-Type: multipart/mixed; boundary=047d7b6043c8346f2304d3f7505c X-Gm-Message-State: ALoCoQnZfGe9DHMa6jnnWbNd2n8pb5TM7EMz4sdwE9GOoHIO0MmAtPW7cySZ/J+7wt87D6dMYXpT X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2013-01/txt/msg00042.txt.bz2 --047d7b6043c8346f2304d3f7505c Content-Type: text/plain; charset=UTF-8 Content-length: 179 This patch adds an AArch64 optimized strncmp implementation. /Marcus 2013-01-23 Marcus Shawcroft * sysdeps/aarch64/strncmp.S: New file. --047d7b6043c8346f2304d3f7505c Content-Type: application/octet-stream; name="0002-AArch64-Optimized-strncmp.patch" Content-Disposition: attachment; filename="0002-AArch64-Optimized-strncmp.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hcap4pt50 Content-length: 8748 ZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9zdHJuY21wLlMg Yi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3RybmNtcC5TCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MWQ1Y2UKLS0tIC9kZXYvbnVs bAorKysgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3RybmNtcC5TCkBAIC0w LDAgKzEsMjA0IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor ICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJy YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZSBHTlUKKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK KyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeS4gIElm IG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAqLworCisjaW5jbHVkZSA8c3lzZGVwLmg+CisKKy8qIEFzc3VtcHRpb25z OgorICoKKyAqIEFSTXY4LWEsIEFBcmNoNjQKKyAqLworCisjZGVmaW5lIFJF UDhfMDEgMHgwMTAxMDEwMTAxMDEwMTAxCisjZGVmaW5lIFJFUDhfN2YgMHg3 ZjdmN2Y3ZjdmN2Y3ZjdmCisjZGVmaW5lIFJFUDhfODAgMHg4MDgwODA4MDgw ODA4MDgwCisKKy8qIFBhcmFtZXRlcnMgYW5kIHJlc3VsdC4gICovCisjZGVm aW5lIHNyYzEJCXgwCisjZGVmaW5lIHNyYzIJCXgxCisjZGVmaW5lIGxpbWl0 CQl4MgorI2RlZmluZSByZXN1bHQJCXgwCisKKy8qIEludGVybmFsIHZhcmlh Ymxlcy4gICovCisjZGVmaW5lIGRhdGExCQl4MworI2RlZmluZSBkYXRhMXcJ CXczCisjZGVmaW5lIGRhdGEyCQl4NAorI2RlZmluZSBkYXRhMncJCXc0Cisj ZGVmaW5lIGhhc19udWwJCXg1CisjZGVmaW5lIGRpZmYJCXg2CisjZGVmaW5l IHN5bmRyb21lCXg3CisjZGVmaW5lIHRtcDEJCXg4CisjZGVmaW5lIHRtcDIJ CXg5CisjZGVmaW5lIHRtcDMJCXgxMAorI2RlZmluZSB6ZXJvb25lcwl4MTEK KyNkZWZpbmUgcG9zCQl4MTIKKyNkZWZpbmUgbGltaXRfd2QJeDEzCisjZGVm aW5lIG1hc2sJCXgxNAorI2RlZmluZSBlbmRsb29wCQl4MTUKKworRU5UUllf QUxJR05fQU5EX1BBRCAoc3RybmNtcCwgNiwgNykKKwljYnoJbGltaXQsIEwo cmV0MCkKKwllb3IJdG1wMSwgc3JjMSwgc3JjMgorCW1vdgl6ZXJvb25lcywg I1JFUDhfMDEKKwl0c3QJdG1wMSwgIzcKKwliLm5lCUwobWlzYWxpZ25lZDgp CisJYW5kcwl0bXAxLCBzcmMxLCAjNworCWIubmUJTChtdXR1YWxfYWxpZ24p CisJLyogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgZnVsbCBhbmQgcGFydGlh bCB3b3JkcyAtMS4gICovCisJc3ViCWxpbWl0X3dkLCBsaW1pdCwgIzEJLyog bGltaXQgIT0gMCwgc28gbm8gdW5kZXJmbG93LiAgKi8KKwlsc3IJbGltaXRf d2QsIGxpbWl0X3dkLCAjMwkvKiBDb252ZXJ0IHRvIER3b3Jkcy4gICovCisK KwkvKiBOVUwgZGV0ZWN0aW9uIHdvcmtzIG9uIHRoZSBwcmluY2lwbGUgdGhh dCAoWCAtIDEpICYgKH5YKSAmIDB4ODAKKwkgICAoPT4gKFggLSAxKSAmIH4o WCB8IDB4N2YpKSBpcyBub24temVybyBpZmYgYSBieXRlIGlzIHplcm8sIGFu ZAorCSAgIGNhbiBiZSBkb25lIGluIHBhcmFsbGVsIGFjcm9zcyB0aGUgZW50 aXJlIHdvcmQuICAqLworCS8qIFN0YXJ0IG9mIHBlcmZvcm1hbmNlLWNyaXRp Y2FsIHNlY3Rpb24gIC0tIG9uZSA2NEIgY2FjaGUgbGluZS4gICovCitMKGxv b3BfYWxpZ25lZCk6CisJbGRyCWRhdGExLCBbc3JjMV0sICM4CisJbGRyCWRh dGEyLCBbc3JjMl0sICM4CitMKHN0YXJ0X3JlYWxpZ25lZCk6CisJc3Vicwls aW1pdF93ZCwgbGltaXRfd2QsICMxCisJc3ViCXRtcDEsIGRhdGExLCB6ZXJv b25lcworCW9ycgl0bXAyLCBkYXRhMSwgI1JFUDhfN2YKKwllb3IJZGlmZiwg ZGF0YTEsIGRhdGEyCS8qIE5vbi16ZXJvIGlmIGRpZmZlcmVuY2VzIGZvdW5k LiAgKi8KKwljc2ludgllbmRsb29wLCBkaWZmLCB4enIsIHBsCS8qIExhc3Qg RHdvcmQgb3IgZGlmZmVyZW5jZXMuICAqLworCWJpY3MJaGFzX251bCwgdG1w MSwgdG1wMgkvKiBOb24temVybyBpZiBOVUwgdGVybWluYXRvci4gICovCisJ Y2NtcAllbmRsb29wLCAjMCwgIzAsIGVxCisJYi5lcQlMKGxvb3BfYWxpZ25l ZCkKKwkvKiBFbmQgb2YgcGVyZm9ybWFuY2UtY3JpdGljYWwgc2VjdGlvbiAg LS0gb25lIDY0QiBjYWNoZSBsaW5lLiAgKi8KKworCS8qIE5vdCByZWFjaGVk IHRoZSBsaW1pdCwgbXVzdCBoYXZlIGZvdW5kIHRoZSBlbmQgb3IgYSBkaWZm LiAgKi8KKwl0YnoJbGltaXRfd2QsICM2MywgTChub3RfbGltaXQpCisKKwkv KiBMaW1pdCAlIDggPT0gMCA9PiBhbGwgYnl0ZXMgc2lnbmlmaWNhbnQuICAq LworCWFuZHMJbGltaXQsIGxpbWl0LCAjNworCWIuZXEJTChub3RfbGltaXQp CisKKwlsc2wJbGltaXQsIGxpbWl0LCAjMwkvKiBCaXRzIC0+IGJ5dGVzLiAg Ki8KKwltb3YJbWFzaywgI34wCisjaWZkZWYgX19BQVJDSDY0RUJfXworCWxz cgltYXNrLCBtYXNrLCBsaW1pdAorI2Vsc2UKKwlsc2wJbWFzaywgbWFzaywg bGltaXQKKyNlbmRpZgorCWJpYwlkYXRhMSwgZGF0YTEsIG1hc2sKKwliaWMJ ZGF0YTIsIGRhdGEyLCBtYXNrCisKKwkvKiBNYWtlIHN1cmUgdGhhdCB0aGUg TlVMIGJ5dGUgaXMgbWFya2VkIGluIHRoZSBzeW5kcm9tZS4gICovCisJb3Jy CWhhc19udWwsIGhhc19udWwsIG1hc2sKKworTChub3RfbGltaXQpOgorCW9y cglzeW5kcm9tZSwgZGlmZiwgaGFzX251bAorCisjaWZuZGVmCV9fQUFSQ0g2 NEVCX18KKwlyZXYJc3luZHJvbWUsIHN5bmRyb21lCisJcmV2CWRhdGExLCBk YXRhMQorCS8qIFRoZSBNUy1ub24temVybyBiaXQgb2YgdGhlIHN5bmRyb21l IG1hcmtzIGVpdGhlciB0aGUgZmlyc3QgYml0CisJICAgdGhhdCBpcyBkaWZm ZXJlbnQsIG9yIHRoZSB0b3AgYml0IG9mIHRoZSBmaXJzdCB6ZXJvIGJ5dGUu CisJICAgU2hpZnRpbmcgbGVmdCBub3cgd2lsbCBicmluZyB0aGUgY3JpdGlj YWwgaW5mb3JtYXRpb24gaW50byB0aGUKKwkgICB0b3AgYml0cy4gICovCisJ Y2x6CXBvcywgc3luZHJvbWUKKwlyZXYJZGF0YTIsIGRhdGEyCisJbHNsCWRh dGExLCBkYXRhMSwgcG9zCisJbHNsCWRhdGEyLCBkYXRhMiwgcG9zCisJLyog QnV0IHdlIG5lZWQgdG8gemVyby1leHRlbmQgKGNoYXIgaXMgdW5zaWduZWQp IHRoZSB2YWx1ZSBhbmQgdGhlbgorCSAgIHBlcmZvcm0gYSBzaWduZWQgMzIt Yml0IHN1YnRyYWN0aW9uLiAgKi8KKwlsc3IJZGF0YTEsIGRhdGExLCAjNTYK KwlzdWIJcmVzdWx0LCBkYXRhMSwgZGF0YTIsIGxzciAjNTYKKwlSRVQKKyNl bHNlCisJLyogRm9yIGJpZy1lbmRpYW4gd2UgY2Fubm90IHVzZSB0aGUgdHJp Y2sgd2l0aCB0aGUgc3luZHJvbWUgdmFsdWUKKwkgICBhcyBjYXJyeS1wcm9w YWdhdGlvbiBjYW4gY29ycnVwdCB0aGUgdXBwZXIgYml0cyBpZiB0aGUgdHJh aWxpbmcKKwkgICBieXRlcyBpbiB0aGUgc3RyaW5nIGNvbnRhaW4gMHgwMS4g ICovCisJLyogSG93ZXZlciwgaWYgdGhlcmUgaXMgbm8gTlVMIGJ5dGUgaW4g dGhlIGR3b3JkLCB3ZSBjYW4gZ2VuZXJhdGUKKwkgICB0aGUgcmVzdWx0IGRp cmVjdGx5LiAgV2UgY2FuJ3QganVzdCBzdWJ0cmFjdCB0aGUgYnl0ZXMgYXMg dGhlCisJICAgTVNCIG1pZ2h0IGJlIHNpZ25pZmljYW50LiAgKi8KKwljYm56 CWhhc19udWwsIDFmCisJY21wCWRhdGExLCBkYXRhMgorCWNzZXQJcmVzdWx0 LCBuZQorCWNuZWcJcmVzdWx0LCByZXN1bHQsIGxvCisJUkVUCisxOgorCS8q IFJlLWNvbXB1dGUgdGhlIE5VTC1ieXRlIGRldGVjdGlvbiwgdXNpbmcgYSBi eXRlLXJldmVyc2VkIHZhbHVlLiAgKi8KKwlyZXYJdG1wMywgZGF0YTEKKwlz dWIJdG1wMSwgdG1wMywgemVyb29uZXMKKwlvcnIJdG1wMiwgdG1wMywgI1JF UDhfN2YKKwliaWMJaGFzX251bCwgdG1wMSwgdG1wMgorCXJldgloYXNfbnVs LCBoYXNfbnVsCisJb3JyCXN5bmRyb21lLCBkaWZmLCBoYXNfbnVsCisJY2x6 CXBvcywgc3luZHJvbWUKKwkvKiBUaGUgTVMtbm9uLXplcm8gYml0IG9mIHRo ZSBzeW5kcm9tZSBtYXJrcyBlaXRoZXIgdGhlIGZpcnN0IGJpdAorCSAgIHRo YXQgaXMgZGlmZmVyZW50LCBvciB0aGUgdG9wIGJpdCBvZiB0aGUgZmlyc3Qg emVybyBieXRlLgorCSAgIFNoaWZ0aW5nIGxlZnQgbm93IHdpbGwgYnJpbmcg dGhlIGNyaXRpY2FsIGluZm9ybWF0aW9uIGludG8gdGhlCisJICAgdG9wIGJp dHMuICAqLworCWxzbAlkYXRhMSwgZGF0YTEsIHBvcworCWxzbAlkYXRhMiwg ZGF0YTIsIHBvcworCS8qIEJ1dCB3ZSBuZWVkIHRvIHplcm8tZXh0ZW5kIChj aGFyIGlzIHVuc2lnbmVkKSB0aGUgdmFsdWUgYW5kIHRoZW4KKwkgICBwZXJm b3JtIGEgc2lnbmVkIDMyLWJpdCBzdWJ0cmFjdGlvbi4gICovCisJbHNyCWRh dGExLCBkYXRhMSwgIzU2CisJc3ViCXJlc3VsdCwgZGF0YTEsIGRhdGEyLCBs c3IgIzU2CisJUkVUCisjZW5kaWYKKworTChtdXR1YWxfYWxpZ24pOgorCS8q IFNvdXJjZXMgYXJlIG11dHVhbGx5IGFsaWduZWQsIGJ1dCBhcmUgbm90IGN1 cnJlbnRseSBhdCBhbgorCSAgIGFsaWdubWVudCBib3VuZGFyeS4gIFJvdW5k IGRvd24gdGhlIGFkZHJlc3NlcyBhbmQgdGhlbiBtYXNrIG9mZgorCSAgIHRo ZSBieXRlcyB0aGF0IHByZWNlZGUgdGhlIHN0YXJ0IHBvaW50LgorCSAgIFdl IGFsc28gbmVlZCB0byBhZGp1c3QgdGhlIGxpbWl0IGNhbGN1bGF0aW9ucywg YnV0IHdpdGhvdXQKKwkgICBvdmVyZmxvd2luZyBpZiB0aGUgbGltaXQgaXMg bmVhciBVTE9OR19NQVguICAqLworCWJpYwlzcmMxLCBzcmMxLCAjNworCWJp YwlzcmMyLCBzcmMyLCAjNworCWxkcglkYXRhMSwgW3NyYzFdLCAjOAorCW5l Zwl0bXAzLCB0bXAxLCBsc2wgIzMJLyogNjQgLSBiaXRzKGJ5dGVzIGJleW9u ZCBhbGlnbikuICovCisJbGRyCWRhdGEyLCBbc3JjMl0sICM4CisJbW92CXRt cDIsICN+MAorCXN1YglsaW1pdF93ZCwgbGltaXQsICMxCS8qIGxpbWl0ICE9 IDAsIHNvIG5vIHVuZGVyZmxvdy4gICovCisjaWZkZWYgX19BQVJDSDY0RUJf XworCS8qIEJpZy1lbmRpYW4uICBFYXJseSBieXRlcyBhcmUgYXQgTVNCLiAg Ki8KKwlsc2wJdG1wMiwgdG1wMiwgdG1wMwkvKiBTaGlmdCAodG1wMSAmIDYz KS4gICovCisjZWxzZQorCS8qIExpdHRsZS1lbmRpYW4uICBFYXJseSBieXRl cyBhcmUgYXQgTFNCLiAgKi8KKwlsc3IJdG1wMiwgdG1wMiwgdG1wMwkvKiBT aGlmdCAodG1wMSAmIDYzKS4gICovCisjZW5kaWYKKwlhbmQJdG1wMywgbGlt aXRfd2QsICM3CisJbHNyCWxpbWl0X3dkLCBsaW1pdF93ZCwgIzMKKwkvKiBB ZGp1c3QgdGhlIGxpbWl0LiBPbmx5IGxvdyAzIGJpdHMgdXNlZCwgc28gb3Zl cmZsb3cgaXJyZWxldmFudC4gICovCisJYWRkCWxpbWl0LCBsaW1pdCwgdG1w MQorCWFkZAl0bXAzLCB0bXAzLCB0bXAxCisJb3JyCWRhdGExLCBkYXRhMSwg dG1wMgorCW9ycglkYXRhMiwgZGF0YTIsIHRtcDIKKwlhZGQJbGltaXRfd2Qs IGxpbWl0X3dkLCB0bXAzLCBsc3IgIzMKKwliCUwoc3RhcnRfcmVhbGlnbmVk KQorCitMKHJldDApOgorCW1vdglyZXN1bHQsICMwCisJUkVUCisKKwkucDJh bGlnbiA2CitMKG1pc2FsaWduZWQ4KToKKwlzdWIJbGltaXQsIGxpbWl0LCAj MQorMToKKwkvKiBQZXJoYXBzIHdlIGNhbiBkbyBiZXR0ZXIgdGhhbiB0aGlz LiAgKi8KKwlsZHJiCWRhdGExdywgW3NyYzFdLCAjMQorCWxkcmIJZGF0YTJ3 LCBbc3JjMl0sICMxCisJc3VicwlsaW1pdCwgbGltaXQsICMxCisJY2NtcAlk YXRhMXcsICMxLCAjMCwgY3MJLyogTlpDViA9IDBiMDAwMC4gICovCisJY2Nt cAlkYXRhMXcsIGRhdGEydywgIzAsIGNzCS8qIE5aQ1YgPSAwYjAwMDAuICAq LworCWIuZXEJMWIKKwlzdWIJcmVzdWx0LCBkYXRhMSwgZGF0YTIKKwlSRVQK K0VORCAoc3RybmNtcCkKK2xpYmNfaGlkZGVuX2J1aWx0aW5fZGVmIChzdHJu Y21wKQotLSAKMS43LjkuNQoK --047d7b6043c8346f2304d3f7505c--