From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57370 invoked by alias); 2 Nov 2016 16:45:45 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 57351 invoked by uid 89); 2 Nov 2016 16:45:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=bic, petit, ENTRY, lesser X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com From: Wilco Dijkstra To: "libc-alpha@sourceware.org" , Marcus Shawcroft CC: nd , Szabolcs Nagy , Richard Earnshaw Subject: Re: [PATCH][AArch64] Add optimized memchr Date: Wed, 02 Nov 2016 16:45:00 -0000 Message-ID: References: , In-Reply-To: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Wilco.Dijkstra@arm.com; x-ms-office365-filtering-correlation-id: 72fd65dd-62ef-4fde-3363-08d4033fa8a4 x-microsoft-exchange-diagnostics: 1;AM5PR0802MB2612;7:iDSp4VrmJXy3YQ4gjZm6xM6qqKV+JixUAm5AfvUQn7FpJtGHbLZwpmDJ3LK4Pz/8K4PpCQ0O67mHJllH1pNviNt4ds/f4EoNkAeGg3rygm29EYXTq7k8UT3eoVLOHTiEWabMDBkknh49DvJz3VMzhz+lhChYRzfaDWGbBlO0VYhsToXd4zTU7Qffu4ufJcPr45QZ6YiNNH/J/0cO2API9jo0tp13reczCZYj4SfdcsUtCPdK+zyoAmEuO7Dr5S2sCm19FDouhM1XuHL+t969SVb22gx15zqD8d3qPMx5FKrQDBvqRisT0dYg4m6tAYrGlMF6v0IuNR9R0wNF4kCqdvdjvo8Mch+onAFUh35TNd8= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0802MB2612; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(102415321)(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:AM5PR0802MB2612;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0802MB2612; x-forefront-prvs: 0114FF88F6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(979002)(6009001)(7916002)(377424004)(13464003)(54534003)(199003)(189002)(5660300001)(6636002)(87936001)(3660700001)(106356001)(92566002)(86362001)(5001770100001)(97736004)(2501003)(9686002)(6116002)(3846002)(3280700002)(102836003)(586003)(68736007)(8936002)(19580395003)(11100500001)(105586002)(10400500002)(19580405001)(7696004)(101416001)(50986999)(450100001)(2900100001)(54356999)(76176999)(66066001)(99936001)(77096005)(5002640100001)(2950100002)(33656002)(74316002)(2906002)(189998001)(305945005)(4326007)(81156014)(7736002)(7846002)(122556002)(81166006)(76576001)(8676002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM5PR0802MB2612;H:AM5PR0802MB2610.eurprd08.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_AM5PR0802MB2610C243CC77E695AEE086DF83A00AM5PR0802MB2610_" MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2016 16:45:31.1527 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2612 X-SW-Source: 2016-11/txt/msg00065.txt.bz2 --_002_AM5PR0802MB2610C243CC77E695AEE086DF83A00AM5PR0802MB2610_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 556 ping -----Original Message----- From: Wilco Dijkstra [mailto:wdijkstr@arm.com] Sent: 25 September 2015 14:21 To: 'GNU C Library' Subject: [PATCH][AArch64] Add optimized memchr An optimized memchr was missing for AArch64. This version is similar to str= chr and is significantly faster than the C version. Passes GLIBC tests. OK for commit? ChangeLog: 2015-09-25=A0 Wilco Dijkstra=A0 2015-09-25=A0 Kevin Petit=A0 =A0=A0=A0=A0=A0=A0=A0 * sysdeps/aarch64/memchr.S (__memchr): New file. =A0=A0=A0=20=20=20=20=20= --_002_AM5PR0802MB2610C243CC77E695AEE086DF83A00AM5PR0802MB2610_ Content-Type: text/plain; name="0001-Add-memchr.txt" Content-Description: 0001-Add-memchr.txt Content-Disposition: attachment; filename="0001-Add-memchr.txt"; size=5008; creation-date="Fri, 25 Sep 2015 13:19:44 GMT"; modification-date="Wed, 19 Oct 2016 14:58:00 GMT" Content-Transfer-Encoding: base64 Content-length: 6792 LS0tCiBzeXNkZXBzL2FhcmNoNjQvbWVtY2hyLlMgfCAxNTcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHN5c2RlcHMvYWFyY2g2NC9tZW1jaHIuUwoKZGlmZiAtLWdpdCBhL3N5 c2RlcHMvYWFyY2g2NC9tZW1jaHIuUyBiL3N5c2RlcHMvYWFyY2g2NC9tZW1j aHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjY0 M2RkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzZGVwcy9hYXJjaDY0L21lbWNo ci5TCkBAIC0wLDAgKzEsMTU3IEBACisvKiBtZW1jaHIgLSBmaW5kIGEgY2hh cmFjdGVyIGluIGEgbWVtb3J5IHpvbmUKKworICAgQ29weXJpZ2h0IChDKSAy MDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlz IGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKworICAgVGhl IEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBU aGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBD IExpYnJhcnkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgPHN5c2RlcC5oPgorCisv KiBBc3N1bXB0aW9uczoKKyAqCisgKiBBUk12OC1hLCBBQXJjaDY0CisgKiBO ZW9uIEF2YWlsYWJsZS4KKyAqLworCisvKiBBcmd1bWVudHMgYW5kIHJlc3Vs dHMuICAqLworI2RlZmluZSBzcmNpbgkJeDAKKyNkZWZpbmUgY2hyaW4JCXcx CisjZGVmaW5lIGNudGluCQl4MgorCisjZGVmaW5lIHJlc3VsdAkJeDAKKwor I2RlZmluZSBzcmMJCXgzCisjZGVmaW5lCXRtcAkJeDQKKyNkZWZpbmUgd3Rt cDIJCXc1CisjZGVmaW5lIHN5bmQJCXg2CisjZGVmaW5lIHNvZmYJCXg5Cisj ZGVmaW5lIGNudHJlbQkJeDEwCisKKyNkZWZpbmUgdnJlcGNocgkJdjAKKyNk ZWZpbmUgdmRhdGExCQl2MQorI2RlZmluZSB2ZGF0YTIJCXYyCisjZGVmaW5l IHZoYXNfY2hyMQl2MworI2RlZmluZSB2aGFzX2NocjIJdjQKKyNkZWZpbmUg dnJlcG1hc2sJdjUKKyNkZWZpbmUgdmVuZAkJdjYKKworLyoKKyAqIENvcmUg YWxnb3JpdGhtOgorICoKKyAqIEZvciBlYWNoIDMyLWJ5dGUgY2h1bmsgd2Ug Y2FsY3VsYXRlIGEgNjQtYml0IHN5bmRyb21lIHZhbHVlLCB3aXRoIHR3byBi aXRzCisgKiBwZXIgYnl0ZS4gRm9yIGVhY2ggdHVwbGUsIGJpdCAwIGlzIHNl dCBpZiB0aGUgcmVsZXZhbnQgYnl0ZSBtYXRjaGVkIHRoZQorICogcmVxdWVz dGVkIGNoYXJhY3RlciBhbmQgYml0IDEgaXMgbm90IHVzZWQgKGZhc3RlciB0 aGFuIHVzaW5nIGEgMzJiaXQKKyAqIHN5bmRyb21lKS4gU2luY2UgdGhlIGJp dHMgaW4gdGhlIHN5bmRyb21lIHJlZmxlY3QgZXhhY3RseSB0aGUgb3JkZXIg aW4gd2hpY2gKKyAqIHRoaW5ncyBvY2N1ciBpbiB0aGUgb3JpZ2luYWwgc3Ry aW5nLCBjb3VudGluZyB0cmFpbGluZyB6ZXJvcyBhbGxvd3MgdG8KKyAqIGlk ZW50aWZ5IGV4YWN0bHkgd2hpY2ggYnl0ZSBoYXMgbWF0Y2hlZC4KKyAqLwor CitFTlRSWSAoX19tZW1jaHIpCisJLyogRG8gbm90IGRlcmVmZXJlbmNlIHNy Y2luIGlmIG5vIGJ5dGVzIHRvIGNvbXBhcmUuICAqLworCWNiegljbnRpbiwg TCh6ZXJvX2xlbmd0aCkKKwkvKgorCSAqIE1hZ2ljIGNvbnN0YW50IDB4NDAx MDA0MDEgYWxsb3dzIHVzIHRvIGlkZW50aWZ5IHdoaWNoIGxhbmUgbWF0Y2hl cworCSAqIHRoZSByZXF1ZXN0ZWQgYnl0ZS4KKwkgKi8KKwltb3YJd3RtcDIs ICMweDA0MDEKKwltb3ZrCXd0bXAyLCAjMHg0MDEwLCBsc2wgIzE2CisJZHVw CXZyZXBjaHIuMTZiLCBjaHJpbgorCS8qIFdvcmsgd2l0aCBhbGlnbmVkIDMy LWJ5dGUgY2h1bmtzICovCisJYmljCXNyYywgc3JjaW4sICMzMQorCWR1cAl2 cmVwbWFzay40cywgd3RtcDIKKwlhbmRzCXNvZmYsIHNyY2luLCAjMzEKKwlh bmQJY250cmVtLCBjbnRpbiwgIzMxCisJYi5lcQlMKGxvb3ApCisKKwkvKgor CSAqIElucHV0IHN0cmluZyBpcyBub3QgMzItYnl0ZSBhbGlnbmVkLiBXZSBj YWxjdWxhdGUgdGhlIHN5bmRyb21lCisJICogdmFsdWUgZm9yIHRoZSBhbGln bmVkIDMyIGJ5dGVzIGJsb2NrIGNvbnRhaW5pbmcgdGhlIGZpcnN0IGJ5dGVz CisJICogYW5kIG1hc2sgdGhlIGlycmVsZXZhbnQgcGFydC4KKwkgKi8KKwor CWxkMQl7dmRhdGExLjE2YiwgdmRhdGEyLjE2Yn0sIFtzcmNdLCAjMzIKKwlz dWIJdG1wLCBzb2ZmLCAjMzIKKwlhZGRzCWNudGluLCBjbnRpbiwgdG1wCisJ Y21lcQl2aGFzX2NocjEuMTZiLCB2ZGF0YTEuMTZiLCB2cmVwY2hyLjE2Ygor CWNtZXEJdmhhc19jaHIyLjE2YiwgdmRhdGEyLjE2YiwgdnJlcGNoci4xNmIK KwlhbmQJdmhhc19jaHIxLjE2Yiwgdmhhc19jaHIxLjE2YiwgdnJlcG1hc2su MTZiCisJYW5kCXZoYXNfY2hyMi4xNmIsIHZoYXNfY2hyMi4xNmIsIHZyZXBt YXNrLjE2YgorCWFkZHAJdmVuZC4xNmIsIHZoYXNfY2hyMS4xNmIsIHZoYXNf Y2hyMi4xNmIJCS8qIDI1Ni0+MTI4ICovCisJYWRkcAl2ZW5kLjE2YiwgdmVu ZC4xNmIsIHZlbmQuMTZiCQkJLyogMTI4LT42NCAqLworCW1vdglzeW5kLCB2 ZW5kLjJkWzBdCisJLyogQ2xlYXIgdGhlIHNvZmYqMiBsb3dlciBiaXRzICov CisJbHNsCXRtcCwgc29mZiwgIzEKKwlsc3IJc3luZCwgc3luZCwgdG1wCisJ bHNsCXN5bmQsIHN5bmQsIHRtcAorCS8qIFRoZSBmaXJzdCBibG9jayBjYW4g YWxzbyBiZSB0aGUgbGFzdCAqLworCWIubHMJTChtYXNrbGFzdCkKKwkvKiBI YXZlIHdlIGZvdW5kIHNvbWV0aGluZyBhbHJlYWR5PyAqLworCWNibnoJc3lu ZCwgTCh0YWlsKQorCitMKGxvb3ApOgorCWxkMQl7dmRhdGExLjE2YiwgdmRh dGEyLjE2Yn0sIFtzcmNdLCAjMzIKKwlzdWJzCWNudGluLCBjbnRpbiwgIzMy CisJY21lcQl2aGFzX2NocjEuMTZiLCB2ZGF0YTEuMTZiLCB2cmVwY2hyLjE2 YgorCWNtZXEJdmhhc19jaHIyLjE2YiwgdmRhdGEyLjE2YiwgdnJlcGNoci4x NmIKKwkvKiBJZiB3ZSdyZSBvdXQgb2YgZGF0YSB3ZSBmaW5pc2ggcmVnYXJk bGVzcyBvZiB0aGUgcmVzdWx0ICovCisJYi5scwlMKGVuZCkKKwkvKiBVc2Ug YSBmYXN0IGNoZWNrIGZvciB0aGUgdGVybWluYXRpb24gY29uZGl0aW9uICov CisJb3JyCXZlbmQuMTZiLCB2aGFzX2NocjEuMTZiLCB2aGFzX2NocjIuMTZi CisJYWRkcAl2ZW5kLjJkLCB2ZW5kLjJkLCB2ZW5kLjJkCisJbW92CXN5bmQs IHZlbmQuMmRbMF0KKwkvKiBXZSdyZSBub3Qgb3V0IG9mIGRhdGEsIGxvb3Ag aWYgd2UgaGF2ZW4ndCBmb3VuZCB0aGUgY2hhcmFjdGVyICovCisJY2J6CXN5 bmQsIEwobG9vcCkKKworTChlbmQpOgorCS8qIFRlcm1pbmF0aW9uIGNvbmRp dGlvbiBmb3VuZCwgbGV0J3MgY2FsY3VsYXRlIHRoZSBzeW5kcm9tZSB2YWx1 ZSAqLworCWFuZAl2aGFzX2NocjEuMTZiLCB2aGFzX2NocjEuMTZiLCB2cmVw bWFzay4xNmIKKwlhbmQJdmhhc19jaHIyLjE2Yiwgdmhhc19jaHIyLjE2Yiwg dnJlcG1hc2suMTZiCisJYWRkcAl2ZW5kLjE2Yiwgdmhhc19jaHIxLjE2Yiwg dmhhc19jaHIyLjE2YgkJLyogMjU2LT4xMjggKi8KKwlhZGRwCXZlbmQuMTZi LCB2ZW5kLjE2YiwgdmVuZC4xNmIJCQkvKiAxMjgtPjY0ICovCisJbW92CXN5 bmQsIHZlbmQuMmRbMF0KKwkvKiBPbmx5IGRvIHRoZSBjbGVhciBmb3IgdGhl IGxhc3QgcG9zc2libGUgYmxvY2sgKi8KKwliLmhpCUwodGFpbCkKKworTCht YXNrbGFzdCk6CisJLyogQ2xlYXIgdGhlICgzMiAtICgoY250cmVtICsgc29m ZikgJSAzMikpICogMiB1cHBlciBiaXRzICovCisJYWRkCXRtcCwgY250cmVt LCBzb2ZmCisJYW5kCXRtcCwgdG1wLCAjMzEKKwlzdWIJdG1wLCB0bXAsICMz MgorCW5lZwl0bXAsIHRtcCwgbHNsICMxCisJbHNsCXN5bmQsIHN5bmQsIHRt cAorCWxzcglzeW5kLCBzeW5kLCB0bXAKKworTCh0YWlsKToKKwkvKiBDb3Vu dCB0aGUgdHJhaWxpbmcgemVyb3MgdXNpbmcgYml0IHJldmVyc2luZyAqLwor CXJiaXQJc3luZCwgc3luZAorCS8qIENvbXBlbnNhdGUgdGhlIGxhc3QgcG9z dC1pbmNyZW1lbnQgKi8KKwlzdWIJc3JjLCBzcmMsICMzMgorCS8qIENoZWNr IHRoYXQgd2UgaGF2ZSBmb3VuZCBhIGNoYXJhY3RlciAqLworCWNtcAlzeW5k LCAjMAorCS8qIEFuZCBjb3VudCB0aGUgbGVhZGluZyB6ZXJvcyAqLworCWNs eglzeW5kLCBzeW5kCisJLyogQ29tcHV0ZSB0aGUgcG90ZW50aWFsIHJlc3Vs dCAqLworCWFkZAlyZXN1bHQsIHNyYywgc3luZCwgbHNyICMxCisJLyogU2Vs ZWN0IHJlc3VsdCBvciBOVUxMICovCisJY3NlbAlyZXN1bHQsIHh6ciwgcmVz dWx0LCBlcQorCXJldAorCitMKHplcm9fbGVuZ3RoKToKKwltb3YJcmVzdWx0 LCAjMAorCXJldAorRU5EIChfX21lbWNocikKK3dlYWtfYWxpYXMgKF9fbWVt Y2hyLCBtZW1jaHIpCitsaWJjX2hpZGRlbl9idWlsdGluX2RlZiAobWVtY2hy KQotLSAKMS45LjEKCg== --_002_AM5PR0802MB2610C243CC77E695AEE086DF83A00AM5PR0802MB2610_--