From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18283 invoked by alias); 16 Jan 2013 14:08:45 -0000 Received: (qmail 18266 invoked by uid 22791); 16 Jan 2013 14:08:44 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TVD_SPACE_RATIO X-Spam-Check-By: sourceware.org Received: from mail-ea0-f181.google.com (HELO mail-ea0-f181.google.com) (209.85.215.181) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 16 Jan 2013 14:08:41 +0000 Received: by mail-ea0-f181.google.com with SMTP id f28so521627eac.12 for ; Wed, 16 Jan 2013 06:08:40 -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=e0F0q0XnhWMUrL5cpl6e6Y9b8OhegIJeiwErpE4+9ng=; b=dcG7L3yVUxbgySS3MyR2yBK/UL0RDAxNprGDymXPtEZhoxZSdDC95rVZkbTfX8wv/H B4dyPzyzf65tQMSUOxac36jPnUzEuZH0gSZxapQAMWrdnYVfLElaOL8fLZnYIqBRzInJ S3N23UtDBe4Fj9ecP/DFxsfJYyAsv4eR36TQfCYh/tL4kZd9HYwAWMNEXKYMdtm/BrvY MfZ0Wf816edJcEX13BN7b2EhCIUR+JIQkjPe7W4eEUkD58czGpxmPJNXUE4UsLFhBzKC jlBKLgfx6AhTw5ryVRsdTUE4ym8yjIJlIC7bWg4785mV9pCbr8fXAy+vNTQHlOyEakCH 8GEQ== MIME-Version: 1.0 X-Received: by 10.14.207.195 with SMTP id n43mr3002668eeo.38.1358345320376; Wed, 16 Jan 2013 06:08:40 -0800 (PST) Received: by 10.14.29.78 with HTTP; Wed, 16 Jan 2013 06:08:40 -0800 (PST) Date: Wed, 16 Jan 2013 14:08:00 -0000 Message-ID: Subject: [PATCH] AArch64 optimized memcmp. From: Marcus Shawcroft To: libc-ports@sourceware.org Content-Type: multipart/mixed; boundary=047d7b3437324daab904d3686a5d X-Gm-Message-State: ALoCoQl1NbPYQrAtxwHQnU3pUDlQYDHe1ZRWd30Wy4mNnEswNFWJyBm7Uhu455DCboTjteTZS2qD 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/msg00022.txt.bz2 --047d7b3437324daab904d3686a5d Content-Type: text/plain; charset=UTF-8 Content-length: 50 AArch64 optimized memcmp implementation. /Marcus --047d7b3437324daab904d3686a5d Content-Type: application/octet-stream; name="0002-AArch64-Implement-optimized-memcmp.patch" Content-Disposition: attachment; filename="0002-AArch64-Implement-optimized-memcmp.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hc0jpq7h0 Content-length: 7239 ZGlmZiAtLWdpdCBhL3BvcnRzL0NoYW5nZUxvZy5hYXJjaDY0IGIvcG9ydHMv Q2hhbmdlTG9nLmFhcmNoNjQKaW5kZXggY2Q0MWIwZS4uNWFiZWZhNCAxMDA2 NDQKLS0tIGEvcG9ydHMvQ2hhbmdlTG9nLmFhcmNoNjQKKysrIGIvcG9ydHMv Q2hhbmdlTG9nLmFhcmNoNjQKQEAgLTEsNSArMSwxMCBAQAogMjAxMy0wMS0x NiAgTWFyY3VzIFNoYXdjcm9mdCAgPG1hcmN1cy5zaGF3Y3JvZnRAbGluYXJv Lm9yZz4KIAorCSogc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oIChFTlRSWV9B TElHTik6IE5ldy4KKwkqIHN5c2RlcHMvYWFyY2g2NC9tZW1jbXAuUzogTmV3 IGZpbGUuCisKKzIwMTMtMDEtMTYgIE1hcmN1cyBTaGF3Y3JvZnQgIDxtYXJj dXMuc2hhd2Nyb2Z0QGxpbmFyby5vcmc+CisKIAkqIHN5c2RlcHMvYWFyY2g2 NC9zeXNkZXAuaCAoRU5UUlksIEVORCk6IEFkanVzdAogCXdoaXRlc3BhY2Uu CiAgCmRpZmYgLS1naXQgYS9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvbWVtY21w LlMgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvbWVtY21wLlMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM5OGRkZAotLS0gL2Rldi9u dWxsCisrKyBiL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9tZW1jbXAuUwpAQCAt MCwwICsxLDE1MSBAQAorLyogbWVtY21wIC0gY29tcGFyZSBtZW1vcnkKKwor ICAgQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMg TGlicmFyeS4KKworICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2Rp ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljCisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg ICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFs b25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnkuICBJZiBub3QsIHNlZQorICAg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1 ZGUgPHN5c2RlcC5oPgorCisvKiBBc3N1bXB0aW9uczoKKyAqCisgKiBBUk12 OC1hLCBBQXJjaDY0CisgKi8KKworLyogUGFyYW1ldGVycyBhbmQgcmVzdWx0 LiAgKi8KKyNkZWZpbmUgc3JjMQkJeDAKKyNkZWZpbmUgc3JjMgkJeDEKKyNk ZWZpbmUgbGltaXQJCXgyCisjZGVmaW5lIHJlc3VsdAkJeDAKKworLyogSW50 ZXJuYWwgdmFyaWFibGVzLiAgKi8KKyNkZWZpbmUgZGF0YTEJCXgzCisjZGVm aW5lIGRhdGExdwkJdzMKKyNkZWZpbmUgZGF0YTIJCXg0CisjZGVmaW5lIGRh dGEydwkJdzQKKyNkZWZpbmUgaGFzX251bAkJeDUKKyNkZWZpbmUgZGlmZgkJ eDYKKyNkZWZpbmUgZW5kbG9vcAkJeDcKKyNkZWZpbmUgdG1wMQkJeDgKKyNk ZWZpbmUgdG1wMgkJeDkKKyNkZWZpbmUgdG1wMwkJeDEwCisjZGVmaW5lIHBv cwkJeDExCisjZGVmaW5lIGxpbWl0X3dkCXgxMgorI2RlZmluZSBtYXNrCQl4 MTMKKworRU5UUllfQUxJR04gKG1lbWNtcCwgNikKKwljYnoJbGltaXQsIEwo cmV0MCkKKwllb3IJdG1wMSwgc3JjMSwgc3JjMgorCXRzdAl0bXAxLCAjNwor CWIubmUJTChtaXNhbGlnbmVkOCkKKwlhbmRzCXRtcDEsIHNyYzEsICM3CisJ Yi5uZQlMKG11dHVhbF9hbGlnbikKKwlhZGQJbGltaXRfd2QsIGxpbWl0LCAj NworCWxzcglsaW1pdF93ZCwgbGltaXRfd2QsICMzCisJLyogU3RhcnQgb2Yg cGVyZm9ybWFuY2UtY3JpdGljYWwgc2VjdGlvbiAgLS0gb25lIDY0QiBjYWNo ZSBsaW5lLiAgKi8KK0wobG9vcF9hbGlnbmVkKToKKwlsZHIJZGF0YTEsIFtz cmMxXSwgIzgKKwlsZHIJZGF0YTIsIFtzcmMyXSwgIzgKK0woc3RhcnRfcmVh bGlnbmVkKToKKwlzdWJzCWxpbWl0X3dkLCBsaW1pdF93ZCwgIzEKKwllb3IJ ZGlmZiwgZGF0YTEsIGRhdGEyCS8qIE5vbi16ZXJvIGlmIGRpZmZlcmVuY2Vz IGZvdW5kLiAgKi8KKwljc2ludgllbmRsb29wLCBkaWZmLCB4enIsIG5lCS8q IExhc3QgRHdvcmQgb3IgZGlmZmVyZW5jZXMuICAqLworCWNiegllbmRsb29w LCBMKGxvb3BfYWxpZ25lZCkKKwkvKiBFbmQgb2YgcGVyZm9ybWFuY2UtY3Jp dGljYWwgc2VjdGlvbiAgLS0gb25lIDY0QiBjYWNoZSBsaW5lLiAgKi8KKwor CS8qIE5vdCByZWFjaGVkIHRoZSBsaW1pdCwgbXVzdCBoYXZlIGZvdW5kIGEg ZGlmZi4gICovCisJY2JueglsaW1pdF93ZCwgTChub3RfbGltaXQpCisKKwkv KiBMaW1pdCAlIDggPT0gMCA9PiBhbGwgYnl0ZXMgc2lnbmlmaWNhbnQuICAq LworCWFuZHMJbGltaXQsIGxpbWl0LCAjNworCWIuZXEJTChub3RfbGltaXQp CisKKwlsc2wJbGltaXQsIGxpbWl0LCAjMwkvKiBCaXRzIC0+IGJ5dGVzLiAg Ki8KKwltb3YJbWFzaywgI34wCisjaWZkZWYgX19BQVJDSDY0RUJfXworCWxz cgltYXNrLCBtYXNrLCBsaW1pdAorI2Vsc2UKKwlsc2wJbWFzaywgbWFzaywg bGltaXQKKyNlbmRpZgorCWJpYwlkYXRhMSwgZGF0YTEsIG1hc2sKKwliaWMJ ZGF0YTIsIGRhdGEyLCBtYXNrCisKKwlvcnIJZGlmZiwgZGlmZiwgbWFzawor TChub3RfbGltaXQpOgorCisjaWZuZGVmCV9fQUFSQ0g2NEVCX18KKwlyZXYJ ZGlmZiwgZGlmZgorCXJldglkYXRhMSwgZGF0YTEKKwlyZXYJZGF0YTIsIGRh dGEyCisjZW5kaWYKKwkvKiBUaGUgTVMtbm9uLXplcm8gYml0IG9mIERJRkYg bWFya3MgZWl0aGVyIHRoZSBmaXJzdCBiaXQKKwkgICB0aGF0IGlzIGRpZmZl cmVudCwgb3IgdGhlIGVuZCBvZiB0aGUgc2lnbmlmaWNhbnQgZGF0YS4KKwkg ICBTaGlmdGluZyBsZWZ0IG5vdyB3aWxsIGJyaW5nIHRoZSBjcml0aWNhbCBp bmZvcm1hdGlvbiBpbnRvIHRoZQorCSAgIHRvcCBiaXRzLiAgKi8KKwljbHoJ cG9zLCBkaWZmCisJbHNsCWRhdGExLCBkYXRhMSwgcG9zCisJbHNsCWRhdGEy LCBkYXRhMiwgcG9zCisJLyogQnV0IHdlIG5lZWQgdG8gemVyby1leHRlbmQg KGNoYXIgaXMgdW5zaWduZWQpIHRoZSB2YWx1ZSBhbmQgdGhlbgorCSAgIHBl cmZvcm0gYSBzaWduZWQgMzItYml0IHN1YnRyYWN0aW9uLiAgKi8KKwlsc3IJ ZGF0YTEsIGRhdGExLCAjNTYKKwlzdWIJcmVzdWx0LCBkYXRhMSwgZGF0YTIs IGxzciAjNTYKKwlSRVQKKworTChtdXR1YWxfYWxpZ24pOgorCS8qIFNvdXJj ZXMgYXJlIG11dHVhbGx5IGFsaWduZWQsIGJ1dCBhcmUgbm90IGN1cnJlbnRs eSBhdCBhbgorCSAgIGFsaWdubWVudCBib3VuZGFyeS4gIFJvdW5kIGRvd24g dGhlIGFkZHJlc3NlcyBhbmQgdGhlbiBtYXNrIG9mZgorCSAgIHRoZSBieXRl cyB0aGF0IHByZWNlZGUgdGhlIHN0YXJ0IHBvaW50LiAgKi8KKwliaWMJc3Jj MSwgc3JjMSwgIzcKKwliaWMJc3JjMiwgc3JjMiwgIzcKKwlhZGQJbGltaXQs IGxpbWl0LCB0bXAxCS8qIEFkanVzdCB0aGUgbGltaXQgZm9yIHRoZSBleHRy YS4gICovCisJbHNsCXRtcDEsIHRtcDEsICMzCQkvKiBCeXRlcyBiZXlvbmQg YWxpZ25tZW50IC0+IGJpdHMuICAqLworCWxkcglkYXRhMSwgW3NyYzFdLCAj OAorCW5lZwl0bXAxLCB0bXAxCQkvKiBCaXRzIHRvIGFsaWdubWVudCAtNjQu ICAqLworCWxkcglkYXRhMiwgW3NyYzJdLCAjOAorCW1vdgl0bXAyLCAjfjAK KyNpZmRlZiBfX0FBUkNINjRFQl9fCisJLyogQmlnLWVuZGlhbi4gIEVhcmx5 IGJ5dGVzIGFyZSBhdCBNU0IuICAqLworCWxzbAl0bXAyLCB0bXAyLCB0bXAx CS8qIFNoaWZ0ICh0bXAxICYgNjMpLiAgKi8KKyNlbHNlCisJLyogTGl0dGxl LWVuZGlhbi4gIEVhcmx5IGJ5dGVzIGFyZSBhdCBMU0IuICAqLworCWxzcgl0 bXAyLCB0bXAyLCB0bXAxCS8qIFNoaWZ0ICh0bXAxICYgNjMpLiAgKi8KKyNl bmRpZgorCWFkZAlsaW1pdF93ZCwgbGltaXQsICM3CisJb3JyCWRhdGExLCBk YXRhMSwgdG1wMgorCW9ycglkYXRhMiwgZGF0YTIsIHRtcDIKKwlsc3IJbGlt aXRfd2QsIGxpbWl0X3dkLCAjMworCWIJTChzdGFydF9yZWFsaWduZWQpCisK K0wocmV0MCk6CisJbW92CXJlc3VsdCwgIzAKKwlSRVQKKworCS5wMmFsaWdu IDYKK0wobWlzYWxpZ25lZDgpOgorCXN1YglsaW1pdCwgbGltaXQsICMxCisx OgorCS8qIFBlcmhhcHMgd2UgY2FuIGRvIGJldHRlciB0aGFuIHRoaXMuICAq LworCWxkcmIJZGF0YTF3LCBbc3JjMV0sICMxCisJbGRyYglkYXRhMncsIFtz cmMyXSwgIzEKKwlzdWJzCWxpbWl0LCBsaW1pdCwgIzEKKwljY21wCWRhdGEx dywgZGF0YTJ3LCAjMCwgY3MJLyogTlpDViA9IDBiMDAwMC4gICovCisJYi5l cQkxYgorCXN1YglyZXN1bHQsIGRhdGExLCBkYXRhMgorCVJFVAorRU5EICht ZW1jbXApCisjdW5kZWYgYmNtcAord2Vha19hbGlhcyAobWVtY21wLCBiY21w KQorbGliY19oaWRkZW5fYnVpbHRpbl9kZWYgKG1lbWNtcCkKZGlmZiAtLWdp dCBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9zeXNkZXAuaCBiL3BvcnRzL3N5 c2RlcHMvYWFyY2g2NC9zeXNkZXAuaAppbmRleCBhMGZjMzI5Li42Yjc1YWRh IDEwMDY0NAotLS0gYS9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3lzZGVwLmgK KysrIGIvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oCkBAIC0zMyw2 ICszMywxNSBAQAogICBjZmlfc3RhcnRwcm9jOwkJCQkJCVwKICAgQ0FMTF9N Q09VTlQKIAorLyogRGVmaW5lIGFuIGVudHJ5IHBvaW50IHZpc2libGUgZnJv bSBDLiAgKi8KKyNkZWZpbmUgRU5UUllfQUxJR04obmFtZSwgYWxpZ24pCQkJ CVwKKyAgLmdsb2JsIENfU1lNQk9MX05BTUUobmFtZSk7CQkJCQlcCisgIC50 eXBlIENfU1lNQk9MX05BTUUobmFtZSksJWZ1bmN0aW9uOwkJCQlcCisgIC5w MmFsaWduIGFsaWduOwkJCQkJCVwKKyAgQ19MQUJFTChuYW1lKQkJCQkJCQlc CisgIGNmaV9zdGFydHByb2M7CQkJCQkJXAorICBDQUxMX01DT1VOVAorCiAj dW5kZWYJRU5ECiAjZGVmaW5lIEVORChuYW1lKQkJCQkJCVwKICAgY2ZpX2Vu ZHByb2M7CQkJCQkJCVwKLS0gCjEuNy4xMS41Cgo= --047d7b3437324daab904d3686a5d--