From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7784 invoked by alias); 23 Jan 2013 16:36:20 -0000 Received: (qmail 7416 invoked by uid 22791); 23 Jan 2013 16:36:17 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-ee0-f41.google.com (HELO mail-ee0-f41.google.com) (74.125.83.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 23 Jan 2013 16:36:12 +0000 Received: by mail-ee0-f41.google.com with SMTP id c13so4251184eek.0 for ; Wed, 23 Jan 2013 08:36:10 -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=jcPCXL1hE72ofFs3nhzQ4kcJCrlADVa3PNwpNHGp3jg=; b=nGuvAYizxyskKIkZTShlvKJfwMfaaj8o+prjUA4/SdZYtYBvQs1dwyO1YUMwfYIOwy ZIcKIvv6GS97jYbQul4gvovnU1E4lq5XN9zcgruKUoi2CxalxLOQmIxNwVV2wsQXkBFA NkTZX9A2BrRoFYB5vMMLCXO34oC/VR3NbU7fuCmZqqs7ihE4+EuGVYQfwh2CLl5LACv7 T225BxSn9CuqZ4ASgE1TkpNcTcr2iTIA9YOTgqXIwfnVeMXEN32DtPDWciYtch7/RHmn YneJY1v4l7EVR+Mu+Aiu7QVhHogOkdoGje1iDEZ+aL1QuwsZqAurl2tEAD1o1Z26oAUA kWrw== MIME-Version: 1.0 X-Received: by 10.14.194.199 with SMTP id m47mr5863645een.11.1358958970642; Wed, 23 Jan 2013 08:36:10 -0800 (PST) Received: by 10.14.29.78 with HTTP; Wed, 23 Jan 2013 08:36:10 -0800 (PST) Date: Wed, 23 Jan 2013 16:36:00 -0000 Message-ID: Subject: [PATCH] AArch64 strnlen implementation. From: Marcus Shawcroft To: libc-ports@sourceware.org Content-Type: multipart/mixed; boundary=047d7b343a8ab5a17a04d3f74a7a X-Gm-Message-State: ALoCoQnsflYi02UV8q8LBATu+IxqCOe0J84ZF5MerCx0ztSxbdACuXGcP/o9EGT4u6L8Qwr7iHaF 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/msg00041.txt.bz2 --047d7b343a8ab5a17a04d3f74a7a Content-Type: text/plain; charset=UTF-8 Content-length: 242 This patch adds an AArch64 optimized strnlen implementation. /Marcus 2013-01-23 Marcus Shawcroft * sysdeps/aarch64/sysdep.h (ENTRY_ALIGN_AND_PAD): New. * sysdeps/aarch64/strnlen.S: New file. --047d7b343a8ab5a17a04d3f74a7a Content-Type: application/octet-stream; name="0001-AArch64-Optimized-strnlen.patch" Content-Disposition: attachment; filename="0001-AArch64-Optimized-strnlen.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hcap2ncr0 Content-length: 8162 ZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9zdHJubGVuLlMg Yi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3Rybmxlbi5TCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1ODJlOGEKLS0tIC9kZXYvbnVs bAorKysgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3Rybmxlbi5TCkBAIC0w LDAgKzEsMTYxIEBACisvKiBzdHJubGVuIC0gY2FsY3VsYXRlIHRoZSBsZW5n dGggb2YgYSBzdHJpbmcgd2l0aCBsaW1pdC4KKworICAgQ29weXJpZ2h0IChD KSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKworICAg VGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisg ICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdO VSBDIExpYnJhcnkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgPHN5c2RlcC5oPgor CisvKiBBc3N1bXB0aW9uczoKKyAqCisgKiBBUk12OC1hLCBBQXJjaDY0Cisg Ki8KKworLyogQXJndW1lbnRzIGFuZCByZXN1bHRzLiAgKi8KKyNkZWZpbmUg c3JjaW4JCXgwCisjZGVmaW5lIGxlbgkJeDAKKyNkZWZpbmUgbGltaXQJCXgx CisKKy8qIExvY2FscyBhbmQgdGVtcG9yYXJpZXMuICAqLworI2RlZmluZSBz cmMJCXgyCisjZGVmaW5lIGRhdGExCQl4MworI2RlZmluZSBkYXRhMgkJeDQK KyNkZWZpbmUgZGF0YTJhCQl4NQorI2RlZmluZSBoYXNfbnVsMQl4NgorI2Rl ZmluZSBoYXNfbnVsMgl4NworI2RlZmluZSB0bXAxCQl4OAorI2RlZmluZSB0 bXAyCQl4OQorI2RlZmluZSB0bXAzCQl4MTAKKyNkZWZpbmUgdG1wNAkJeDEx CisjZGVmaW5lIHplcm9vbmVzCXgxMgorI2RlZmluZSBwb3MJCXgxMworI2Rl ZmluZSBsaW1pdF93ZAl4MTQKKworI2RlZmluZSBSRVA4XzAxIDB4MDEwMTAx MDEwMTAxMDEwMQorI2RlZmluZSBSRVA4XzdmIDB4N2Y3ZjdmN2Y3ZjdmN2Y3 ZgorI2RlZmluZSBSRVA4XzgwIDB4ODA4MDgwODA4MDgwODA4MAorCitFTlRS WV9BTElHTl9BTkRfUEFEIChfX3N0cm5sZW4sIDYsIDkpCisJY2J6CWxpbWl0 LCBMKGhpdF9saW1pdCkKKwltb3YJemVyb29uZXMsICNSRVA4XzAxCisJYmlj CXNyYywgc3JjaW4sICMxNQorCWFuZHMJdG1wMSwgc3JjaW4sICMxNQorCWIu bmUJTChtaXNhbGlnbmVkKQorCS8qIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9m IGZ1bGwgYW5kIHBhcnRpYWwgd29yZHMgLTEuICAqLworCXN1YglsaW1pdF93 ZCwgbGltaXQsICMxCS8qIExpbWl0ICE9IDAsIHNvIG5vIHVuZGVyZmxvdy4g ICovCisJbHNyCWxpbWl0X3dkLCBsaW1pdF93ZCwgIzQJLyogQ29udmVydCB0 byBRd29yZHMuICAqLworCisJLyogTlVMIGRldGVjdGlvbiB3b3JrcyBvbiB0 aGUgcHJpbmNpcGxlIHRoYXQgKFggLSAxKSAmICh+WCkgJiAweDgwCisJICAg KD0+IChYIC0gMSkgJiB+KFggfCAweDdmKSkgaXMgbm9uLXplcm8gaWZmIGEg Ynl0ZSBpcyB6ZXJvLCBhbmQKKwkgICBjYW4gYmUgZG9uZSBpbiBwYXJhbGxl bCBhY3Jvc3MgdGhlIGVudGlyZSB3b3JkLiAgKi8KKwkvKiBUaGUgaW5uZXIg bG9vcCBkZWFscyB3aXRoIHR3byBEd29yZHMgYXQgYSB0aW1lLiAgVGhpcyBo YXMgYQorCSAgIHNsaWdodGx5IGhpZ2hlciBzdGFydC11cCBjb3N0LCBidXQg d2Ugc2hvdWxkIHdpbiBxdWl0ZSBxdWlja2x5LAorCSAgIGVzcGVjaWFsbHkg b24gY29yZXMgd2l0aCBhIGhpZ2ggbnVtYmVyIG9mIGlzc3VlIHNsb3RzIHBl cgorCSAgIGN5Y2xlLCBhcyB3ZSBnZXQgbXVjaCBiZXR0ZXIgcGFyYWxsZWxp c20gb3V0IG9mIHRoZSBvcGVyYXRpb25zLiAgKi8KKworCS8qIFN0YXJ0IG9m IGNyaXRpYWwgc2VjdGlvbiAtLSBrZWVwIHRvIG9uZSA2NEJ5dGUgY2FjaGUg bGluZS4gICovCitMKGxvb3ApOgorCWxkcAlkYXRhMSwgZGF0YTIsIFtzcmNd LCAjMTYKK0wocmVhbGlnbmVkKToKKwlzdWIJdG1wMSwgZGF0YTEsIHplcm9v bmVzCisJb3JyCXRtcDIsIGRhdGExLCAjUkVQOF83ZgorCXN1Ygl0bXAzLCBk YXRhMiwgemVyb29uZXMKKwlvcnIJdG1wNCwgZGF0YTIsICNSRVA4XzdmCisJ YmljCWhhc19udWwxLCB0bXAxLCB0bXAyCisJYmljCWhhc19udWwyLCB0bXAz LCB0bXA0CisJc3VicwlsaW1pdF93ZCwgbGltaXRfd2QsICMxCisJb3JyCXRt cDEsIGhhc19udWwxLCBoYXNfbnVsMgorCWNjbXAJdG1wMSwgIzAsICMwLCBw bAkvKiBOWkNWID0gMDAwMCAgKi8KKwliLmVxCUwobG9vcCkKKwkvKiBFbmQg b2YgY3JpdGljYWwgc2VjdGlvbiAtLSBrZWVwIHRvIG9uZSA2NEJ5dGUgY2Fj aGUgbGluZS4gICovCisKKwlvcnIJdG1wMSwgaGFzX251bDEsIGhhc19udWwy CisJY2J6CXRtcDEsIEwoaGl0X2xpbWl0KQkvKiBObyBudWxsIGluIGZpbmFs IFF3b3JkLiAgKi8KKworCS8qIFdlIGtub3cgdGhlcmUncyBhIG51bGwgaW4g dGhlIGZpbmFsIFF3b3JkLiAgVGhlIGVhc2llc3QgdGhpbmcKKwkgICB0byBk byBub3cgaXMgd29yayBvdXQgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGFu ZCByZXR1cm4KKwkgICBNSU4gKGxlbiwgbGltaXQpLiAgKi8KKworCXN1Ygls ZW4sIHNyYywgc3JjaW4KKwljYnoJaGFzX251bDEsIEwobnVsX2luX2RhdGEy KQorI2lmZGVmIF9fQUFSQ0g2NEVCX18KKwltb3YJZGF0YTIsIGRhdGExCisj ZW5kaWYKKwlzdWIJbGVuLCBsZW4sICM4CisJbW92CWhhc19udWwyLCBoYXNf bnVsMQorTChudWxfaW5fZGF0YTIpOgorI2lmZGVmIF9fQUFSQ0g2NEVCX18K KwkvKiBGb3IgYmlnLWVuZGlhbiwgY2FycnkgcHJvcGFnYXRpb24gKGlmIHRo ZSBmaW5hbCBieXRlIGluIHRoZQorCSAgIHN0cmluZyBpcyAweDAxKSBtZWFu cyB3ZSBjYW5ub3QgdXNlIGhhc19udWwgZGlyZWN0bHkuICBUaGUKKwkgICBl YXNpZXN0IHdheSB0byBnZXQgdGhlIGNvcnJlY3QgYnl0ZSBpcyB0byBieXRl LXN3YXAgdGhlIGRhdGEKKwkgICBhbmQgY2FsY3VsYXRlIHRoZSBzeW5kcm9t ZSBhIHNlY29uZCB0aW1lLiAgKi8KKwlyZXYJZGF0YTIsIGRhdGEyCisJc3Vi CXRtcDEsIGRhdGEyLCB6ZXJvb25lcworCW9ycgl0bXAyLCBkYXRhMiwgI1JF UDhfN2YKKwliaWMJaGFzX251bDIsIHRtcDEsIHRtcDIKKyNlbmRpZgorCXN1 YglsZW4sIGxlbiwgIzgKKwlyZXYJaGFzX251bDIsIGhhc19udWwyCisJY2x6 CXBvcywgaGFzX251bDIKKwlhZGQJbGVuLCBsZW4sIHBvcywgbHNyICMzCQkv KiBCaXRzIHRvIGJ5dGVzLiAgKi8KKwljbXAJbGVuLCBsaW1pdAorCWNzZWwJ bGVuLCBsZW4sIGxpbWl0LCBscwkJLyogUmV0dXJuIHRoZSBsb3dlciB2YWx1 ZS4gICovCisJUkVUCisKK0wobWlzYWxpZ25lZCk6CisJLyogRGVhbCB3aXRo IGEgcGFydGlhbCBmaXJzdCB3b3JkLgorCSAgIFdlJ3JlIGRvaW5nIHR3byB0 aGluZ3MgaW4gcGFyYWxsZWwgaGVyZTsKKwkgICAxKSBDYWxjdWxhdGUgdGhl IG51bWJlciBvZiB3b3JkcyAoYnV0IGF2b2lkaW5nIG92ZXJmbG93IGlmCisJ ICAgICAgbGltaXQgaXMgbmVhciBVTE9OR19NQVgpIC0gdG8gZG8gdGhpcyB3 ZSBuZWVkIHRvIHdvcmsgb3V0CisJICAgICAgbGltaXQgKyB0bXAxIC0gMSBh cyBhIDY1LWJpdCB2YWx1ZSBiZWZvcmUgc2hpZnRpbmcgaXQ7CisJICAgMikg TG9hZCBhbmQgbWFzayB0aGUgaW5pdGlhbCBkYXRhIHdvcmRzIC0gd2UgZm9y Y2UgdGhlIGJ5dGVzCisJICAgICAgYmVmb3JlIHRoZSBvbmVzIHdlIGFyZSBp bnRlcmVzdGVkIGluIHRvIDB4ZmYgLSB0aGlzIGVuc3VyZXMKKwkgICAgICBl YXJseSBieXRlcyB3aWxsIG5vdCBoaXQgYW55IHplcm8gZGV0ZWN0aW9uLiAg Ki8KKwlzdWIJbGltaXRfd2QsIGxpbWl0LCAjMQorCW5lZwl0bXA0LCB0bXAx CisJY21wCXRtcDEsICM4CisKKwlhbmQJdG1wMywgbGltaXRfd2QsICMxNQor CWxzcglsaW1pdF93ZCwgbGltaXRfd2QsICM0CisJbW92CXRtcDIsICN+MAor CisJbGRwCWRhdGExLCBkYXRhMiwgW3NyY10sICMxNgorCWxzbAl0bXA0LCB0 bXA0LCAjMwkJLyogQnl0ZXMgYmV5b25kIGFsaWdubWVudCAtPiBiaXRzLiAg Ki8KKwlhZGQJdG1wMywgdG1wMywgdG1wMQorCisjaWZkZWYgX19BQVJDSDY0 RUJfXworCS8qIEJpZy1lbmRpYW4uICBFYXJseSBieXRlcyBhcmUgYXQgTVNC LiAgKi8KKwlsc2wJdG1wMiwgdG1wMiwgdG1wNAkvKiBTaGlmdCAodG1wMSAm IDYzKS4gICovCisjZWxzZQorCS8qIExpdHRsZS1lbmRpYW4uICBFYXJseSBi eXRlcyBhcmUgYXQgTFNCLiAgKi8KKwlsc3IJdG1wMiwgdG1wMiwgdG1wNAkv KiBTaGlmdCAodG1wMSAmIDYzKS4gICovCisjZW5kaWYKKwlhZGQJbGltaXRf d2QsIGxpbWl0X3dkLCB0bXAzLCBsc3IgIzQKKworCW9ycglkYXRhMSwgZGF0 YTEsIHRtcDIKKwlvcnIJZGF0YTJhLCBkYXRhMiwgdG1wMgorCisJY3NpbnYJ ZGF0YTEsIGRhdGExLCB4enIsIGxlCisJY3NlbAlkYXRhMiwgZGF0YTIsIGRh dGEyYSwgbGUKKwliCUwocmVhbGlnbmVkKQorCitMKGhpdF9saW1pdCk6CisJ bW92CWxlbiwgbGltaXQKKwlSRVQKK0VORCAoX19zdHJubGVuKQord2Vha19h bGlhcyAoX19zdHJubGVuLCBzdHJubGVuKQorbGliY19oaWRkZW5fZGVmIChz dHJubGVuKQpkaWZmIC0tZ2l0IGEvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L3N5 c2RlcC5oIGIvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oCmluZGV4 IDZiNzVhZGEuLjkzNDk0NzEgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMv YWFyY2g2NC9zeXNkZXAuaAorKysgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQv c3lzZGVwLmgKQEAgLTQyLDYgKzQyLDIyIEBACiAgIGNmaV9zdGFydHByb2M7 CQkJCQkJXAogICBDQUxMX01DT1VOVAogCisvKiBEZWZpbmUgYW4gZW50cnkg cG9pbnQgdmlzaWJsZSBmcm9tIEMgd2l0aCBhIHNwZWNpZmllZCBhbGlnbm1l bnQgYW5kCisgICBwcmUtcGFkZGluZyB3aXRoIE5PUHMuICBUaGlzIGNhbiBi ZSB1c2VkIHRvIGVuc3VyZSB0aGF0IGEgY3JpdGljYWwKKyAgIGxvb3Agd2l0 aGluIGEgZnVuY3Rpb24gaXMgY2FjaGUgbGluZSBhbGlnbmVkLiAgTm90ZSB0 aGlzIHZlcnNpb24KKyAgIGRvZXMgbm90IGFkanVzdCB0aGUgcGFkZGluZyBp ZiBDQUxMX01DT1VOVCBpcyBkZWZpbmVkLiAqLworCisjZGVmaW5lIEVOVFJZ X0FMSUdOX0FORF9QQUQobmFtZSwgYWxpZ24sIHBhZGRpbmcpCQlcCisgIC5n bG9ibCBDX1NZTUJPTF9OQU1FKG5hbWUpOwkJCQkJXAorICAudHlwZSBDX1NZ TUJPTF9OQU1FKG5hbWUpLCVmdW5jdGlvbjsJCQkJXAorICAucDJhbGlnbiBh bGlnbjsJCQkJCQlcCisgIC5yZXAgcGFkZGluZzsJCQkJCQkJXAorICBub3A7 CQkJCQkJCQlcCisgIC5lbmRyOwkJCQkJCQlcCisgIENfTEFCRUwobmFtZSkJ CQkJCQkJXAorICBjZmlfc3RhcnRwcm9jOwkJCQkJCVwKKyAgQ0FMTF9NQ09V TlQKKwogI3VuZGVmCUVORAogI2RlZmluZSBFTkQobmFtZSkJCQkJCQlcCiAg IGNmaV9lbmRwcm9jOwkJCQkJCQlcCi0tIAoxLjcuOS41Cgo= --047d7b343a8ab5a17a04d3f74a7a--