From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7052 invoked by alias); 18 Dec 2016 13:15:28 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 7024 invoked by uid 89); 18 Dec 2016 13:15:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 spammy=x6, x7, maj, 7j X-HELO: BAY004-OMC4S10.hotmail.com Received: from bay004-omc4s10.hotmail.com (HELO BAY004-OMC4S10.hotmail.com) (65.54.190.212) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 18 Dec 2016 13:15:17 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com ([65.54.190.199]) by BAY004-OMC4S10.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Sun, 18 Dec 2016 05:15:04 -0800 Received: from HE1EUR02FT010.eop-EUR02.prod.protection.outlook.com (10.152.10.54) by HE1EUR02HT219.eop-EUR02.prod.protection.outlook.com (10.152.11.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.6; Sun, 18 Dec 2016 13:15:02 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com (10.152.10.54) by HE1EUR02FT010.mail.protection.outlook.com (10.152.10.249) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.6 via Frontend Transport; Sun, 18 Dec 2016 13:15:01 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com ([10.167.132.147]) by AM4PR0701MB2162.eurprd07.prod.outlook.com ([10.167.132.147]) with mapi id 15.01.0803.008; Sun, 18 Dec 2016 13:15:01 +0000 From: Bernd Edlinger To: "gcc-patches@gcc.gnu.org" CC: Ramana Radhakrishnan , Richard Earnshaw , Kyrill Tkachov , Wilco Dijkstra Subject: [PATCH, ARM] Further improve stack usage in sha512, part 2 (PR 77308) Date: Sun, 18 Dec 2016 13:32:00 -0000 Message-ID: authentication-results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=hotmail.de; x-incomingtopheadermarker: OriginalChecksum:8EF2980E22C96957572A800381EC55300F2B4441573DFC42A143F63E5AD58F4E;UpperCasedChecksum:5AD8C5B82FCBCE947DBD0F879A81B9D666653D9CEC190D32A9189FF680A4E0A6;SizeAsReceived:7373;Count:35 x-ms-exchange-messagesentrepresentingtype: 1 x-incomingheadercount: 35 x-eopattributedmessage: 0 x-microsoft-exchange-diagnostics: 1;HE1EUR02HT219;7:ka4ULLc3nuELL+dZlfhOEXfFVJbk/VYKxP1tsObE/eLNSbjomkcEo9VZ0AJ1W4U9a6TvrdgLv5+H2Du4mhz0lo1JyYmjakfheAnAQUA7bY7bUrfHhF2waaz4+0qT5bAbClxId7ftw7F5AH4N9FHOhWqoGp8c9GKT8x4m75cr4fOEyu/mlOB3Rrx3qV9RW2l6p7e1oeogbyS7cbxoOCjTemHY9odIKiqwsJ6fmte087j++F/Qu6CAi6yfTMiw5m8U4IbGNOxMagzWFmycVDQNq28FuCun1tZY1OHm3mM1slrNyVi+93B3Vvsu0m5yNHJ/cn9ahbKIo+2mL4TR9oadzeoIep4Z5X0ImBDeHf8JrKs9SW6+z8Um6UaLd6zw3Spg+w7Y0cH20jh1yux5colMAtRKnjjMaC6W1TnjfTrPyt5/+18Y8l0dddHeulmquvKuM8GMVgkEmnzyWhLBKA4bcw== x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(10019020)(98900003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1EUR02HT219;H:AM4PR0701MB2162.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: 7cc9cd56-4ad5-48af-7cef-08d42747df2b x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(1601124038)(1603103113)(1601125047);SRVR:HE1EUR02HT219; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(432015012)(102415395)(82015046);SRVR:HE1EUR02HT219;BCL:0;PCL:0;RULEID:;SRVR:HE1EUR02HT219; x-forefront-prvs: 01604FB62B spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_AM4PR0701MB216257873FAD30D4E8975FF0E49E0AM4PR0701MB2162_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2016 13:15:01.7262 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT219 X-SW-Source: 2016-12/txt/msg01564.txt.bz2 --_002_AM4PR0701MB216257873FAD30D4E8975FF0E49E0AM4PR0701MB2162_ Content-Type: text/plain; charset="utf-8" Content-ID: <8A12645597D74E42844C5A885D29AF25@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 753 SGksDQoNCnRoaXMgc3BsaXRzIHRoZSAqYXJtX25lZ2RpMiwgKmFybV9jbXBk aV9pbnNuIGFuZCAqYXJtX2NtcGRpX3Vuc2lnbmVkDQphbHNvIGF0IHNwbGl0 MSBleGNlcHQgZm9yIFRBUkdFVF9ORU9OIGFuZCBUQVJHRVRfSVdNTVhULg0K DQpJbiB0aGUgbmV3IHRlc3QgY2FzZSB0aGUgc3RhY2sgaXMgcmVkdWNlZCB0 byBhYm91dCAyNzAgYnl0ZXMsIGV4Y2VwdA0KZm9yIG5lb24gYW5kIGl3bW14 dCwgd2hlcmUgdGhpcyBkb2VzIG5vdCBjaGFuZ2UgYW55dGhpbmcuDQoNClRo aXMgcGF0Y2ggZGVwZW5kcyBvbiBbMV0gYW5kIFsyXSBiZWZvcmUgaXQgY2Fu IGJlIGFwcGxpZWQuDQoNCkJvb3RzdHJhcHBlZCBhbmQgcmVnLXRlc3RlZCBv biBhcm0tbGludXgtZ251ZWFiaWhmLg0KSXMgaXQgT0sgZm9yIHRydW5rPw0K DQoNClRoYW5rcw0KQmVybmQuDQoNCg0KDQpbMV0gaHR0cHM6Ly9nY2MuZ251 Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE2LTExL21zZzAyNzk2Lmh0bWwNClsy XSBodHRwczovL2djYy5nbnUub3JnL21sL2djYy1wYXRjaGVzLzIwMTYtMTIv bXNnMDE1NjIuaHRtbA0K --_002_AM4PR0701MB216257873FAD30D4E8975FF0E49E0AM4PR0701MB2162_ Content-Type: text/x-patch; name="patch-pr77308-4.diff" Content-Description: patch-pr77308-4.diff Content-Disposition: attachment; filename="patch-pr77308-4.diff"; size=9756; creation-date="Sun, 18 Dec 2016 13:15:00 GMT"; modification-date="Sun, 18 Dec 2016 13:15:00 GMT" Content-ID: <0679A15718E5294885427E7AE910EF55@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 13225 MjAxNi0xMi0xOCAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBo b3RtYWlsLmRlPg0KDQoJUFIgdGFyZ2V0Lzc3MzA4DQoJKiBjb25maWcvYXJt L2FybS5tZCAoKmFybV9uZWdkaTIsICphcm1fY21wZGlfaW5zbiwNCgkqYXJt X2NtcGRpX3Vuc2lnbmVkKTogU3BsaXQgZWFybHkgZXhjZXB0IGZvciBUQVJH RVRfTkVPTiBhbmQNCglUQVJHRVRfSVdNTVhULg0KDQp0ZXN0c3VpdGU6DQoy MDE2LTEyLTE4ICBCZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGluZ2VyQGhv dG1haWwuZGU+DQoNCglQUiB0YXJnZXQvNzczMDgNCgkqIGdjYy50YXJnZXQv YXJtL3ByNzczMDgtMi5jOiBOZXcgdGVzdC4NCg0KSW5kZXg6IGdjYy9jb25m aWcvYXJtL2FybS5tZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdj Yy9jb25maWcvYXJtL2FybS5tZAkocmV2aXNpb24gMjQzNzgyKQ0KKysrIGdj Yy9jb25maWcvYXJtL2FybS5tZAkod29ya2luZyBjb3B5KQ0KQEAgLTQ2ODks NyArNDY4OSw3IEBADQogICAiVEFSR0VUXzMyQklUIg0KICAgIiMiCTsgcnNi cyAlUTAsICVRMSwgIzA7IHJzYyAlUjAsICVSMSwgIzAJICAgICAgIChBUk0p DQogCTsgbmVncyAlUTAsICVRMSAgICA7IHNiYyAlUjAsICVSMSwgJVIxLCBs c2wgIzEgKFRodW1iLTIpDQotICAiJiYgcmVsb2FkX2NvbXBsZXRlZCINCisg ICImJiAoKCFUQVJHRVRfTkVPTiAmJiAhVEFSR0VUX0lXTU1YVCkgfHwgcmVs b2FkX2NvbXBsZXRlZCkiDQogICBbKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0Mg Q0NfUkVHTlVNKQ0KIAkJICAgKGNvbXBhcmU6Q0MgKGNvbnN0X2ludCAwKSAo bWF0Y2hfZHVwIDEpKSkNCiAJICAgICAgKHNldCAobWF0Y2hfZHVwIDApICht aW51czpTSSAoY29uc3RfaW50IDApIChtYXRjaF9kdXAgMSkpKV0pDQpAQCAt NzM1OSw3ICs3MzU5LDcgQEANCiAgICAoY2xvYmJlciAobWF0Y2hfc2NyYXRj aDpTSSAyICI9ciIpKV0NCiAgICJUQVJHRVRfMzJCSVQiDQogICAiIyIgICA7 ICJjbXBcXHQlUTAsICVRMVw7c2Jjc1xcdCUyLCAlUjAsICVSMSINCi0gICIm JiByZWxvYWRfY29tcGxldGVkIg0KKyAgIiYmICgoIVRBUkdFVF9ORU9OICYm ICFUQVJHRVRfSVdNTVhUKSB8fCByZWxvYWRfY29tcGxldGVkKSINCiAgIFso c2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KICAgICAgICAgKGNvbXBhcmU6Q0Mg KG1hdGNoX2R1cCAwKSAobWF0Y2hfZHVwIDEpKSkNCiAgICAocGFyYWxsZWwg WyhzZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQpAQCAtNzM4Myw3ICs3MzgzLDEw IEBADQogICAgICAgICBvcGVyYW5kc1s1XSA9IGdlbl9ydHhfTUlOVVMgKFNJ bW9kZSwgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzRdKTsNCiAgICAgICB9DQog ICAgIG9wZXJhbmRzWzFdID0gZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFu ZHNbMV0pOw0KLSAgICBvcGVyYW5kc1syXSA9IGdlbl9sb3dwYXJ0IChTSW1v ZGUsIG9wZXJhbmRzWzJdKTsNCisgICAgaWYgKGNhbl9jcmVhdGVfcHNldWRv X3AgKCkpDQorICAgICAgb3BlcmFuZHNbMl0gPSBnZW5fcmVnX3J0eCAoU0lt b2RlKTsNCisgICAgZWxzZQ0KKyAgICAgIG9wZXJhbmRzWzJdID0gZ2VuX2xv d3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMl0pOw0KICAgfQ0KICAgWyhzZXRf YXR0ciAiY29uZHMiICJzZXQiKQ0KICAgIChzZXRfYXR0ciAibGVuZ3RoIiAi OCIpDQpAQCAtNzM5Nyw3ICs3NDAwLDcgQEANCiANCiAgICJUQVJHRVRfMzJC SVQiDQogICAiIyIgICA7ICJjbXBcXHQlUjAsICVSMVw7aXQgZXFcO2NtcGVx XFx0JVEwLCAlUTEiDQotICAiJiYgcmVsb2FkX2NvbXBsZXRlZCINCisgICIm JiAoKCFUQVJHRVRfTkVPTiAmJiAhVEFSR0VUX0lXTU1YVCkgfHwgcmVsb2Fk X2NvbXBsZXRlZCkiDQogICBbKHNldCAocmVnOkNDIENDX1JFR05VTSkNCiAg ICAgICAgIChjb21wYXJlOkNDIChtYXRjaF9kdXAgMikgKG1hdGNoX2R1cCAz KSkpDQogICAgKGNvbmRfZXhlYyAoZXE6U0kgKHJlZzpDQyBDQ19SRUdOVU0p IChjb25zdF9pbnQgMCkpDQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2FybS9wcjc3MzA4LTIuYw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vcHI3NzMwOC0yLmMJ KHJldmlzaW9uIDApDQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fy bS9wcjc3MzA4LTIuYwkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSwxNjkg QEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9u cyAiLU9zIC1Xc3RhY2stdXNhZ2U9MjUwMCIgfSAqLw0KKw0KKy8qIFRoaXMg aXMgYSBtb2RpZmllZCBhbGdvcml0aG0gd2l0aCA2NGJpdCBjbXAgYW5kIG5l ZyBhdCB0aGUgU2lnbWEtYmxvY2tzLg0KKyAgIEl0IGltcHJvdmVzIHRoZSB0 ZXN0IGNvdmVyYWdlIG9mIGNtcGRpIGFuZCBuZWdkaTIgcGF0dGVybnMuDQor ICAgVW5saWtlIHRoZSBvcmlnaW5hbCB0ZXN0IGNhc2UgdGhlc2UgaW5zbnMg Y2FuIHJlYWNoIHRoZSByZWxvYWQgcGFzcywNCisgICB3aGljaCBtYXkgcmVz dWx0IGluIGxhcmdlIHN0YWNrIHVzYWdlLiAgKi8NCisNCisjZGVmaW5lIFNI QV9MT05HNjQgdW5zaWduZWQgbG9uZyBsb25nDQorI2RlZmluZSBVNjQoQykg ICAgIEMjI1VMTA0KKw0KKyNkZWZpbmUgU0hBX0xCTE9DSyAgICAgIDE2DQor I2RlZmluZSBTSEE1MTJfQ0JMT0NLICAgKFNIQV9MQkxPQ0sqOCkNCisNCit0 eXBlZGVmIHN0cnVjdCBTSEE1MTJzdGF0ZV9zdCB7DQorICAgIFNIQV9MT05H NjQgaFs4XTsNCisgICAgU0hBX0xPTkc2NCBObCwgTmg7DQorICAgIHVuaW9u IHsNCisgICAgICAgIFNIQV9MT05HNjQgZFtTSEFfTEJMT0NLXTsNCisgICAg ICAgIHVuc2lnbmVkIGNoYXIgcFtTSEE1MTJfQ0JMT0NLXTsNCisgICAgfSB1 Ow0KKyAgICB1bnNpZ25lZCBpbnQgbnVtLCBtZF9sZW47DQorfSBTSEE1MTJf Q1RYOw0KKw0KK3N0YXRpYyBjb25zdCBTSEFfTE9ORzY0IEs1MTJbODBdID0g ew0KKyAgICBVNjQoMHg0MjhhMmY5OGQ3MjhhZTIyKSwgVTY0KDB4NzEzNzQ0 OTEyM2VmNjVjZCksDQorICAgIFU2NCgweGI1YzBmYmNmZWM0ZDNiMmYpLCBV NjQoMHhlOWI1ZGJhNTgxODlkYmJjKSwNCisgICAgVTY0KDB4Mzk1NmMyNWJm MzQ4YjUzOCksIFU2NCgweDU5ZjExMWYxYjYwNWQwMTkpLA0KKyAgICBVNjQo MHg5MjNmODJhNGFmMTk0ZjliKSwgVTY0KDB4YWIxYzVlZDVkYTZkODExOCks DQorICAgIFU2NCgweGQ4MDdhYTk4YTMwMzAyNDIpLCBVNjQoMHgxMjgzNWIw MTQ1NzA2ZmJlKSwNCisgICAgVTY0KDB4MjQzMTg1YmU0ZWU0YjI4YyksIFU2 NCgweDU1MGM3ZGMzZDVmZmI0ZTIpLA0KKyAgICBVNjQoMHg3MmJlNWQ3NGYy N2I4OTZmKSwgVTY0KDB4ODBkZWIxZmUzYjE2OTZiMSksDQorICAgIFU2NCgw eDliZGMwNmE3MjVjNzEyMzUpLCBVNjQoMHhjMTliZjE3NGNmNjkyNjk0KSwN CisgICAgVTY0KDB4ZTQ5YjY5YzE5ZWYxNGFkMiksIFU2NCgweGVmYmU0Nzg2 Mzg0ZjI1ZTMpLA0KKyAgICBVNjQoMHgwZmMxOWRjNjhiOGNkNWI1KSwgVTY0 KDB4MjQwY2ExY2M3N2FjOWM2NSksDQorICAgIFU2NCgweDJkZTkyYzZmNTky YjAyNzUpLCBVNjQoMHg0YTc0ODRhYTZlYTZlNDgzKSwNCisgICAgVTY0KDB4 NWNiMGE5ZGNiZDQxZmJkNCksIFU2NCgweDc2Zjk4OGRhODMxMTUzYjUpLA0K KyAgICBVNjQoMHg5ODNlNTE1MmVlNjZkZmFiKSwgVTY0KDB4YTgzMWM2NmQy ZGI0MzIxMCksDQorICAgIFU2NCgweGIwMDMyN2M4OThmYjIxM2YpLCBVNjQo MHhiZjU5N2ZjN2JlZWYwZWU0KSwNCisgICAgVTY0KDB4YzZlMDBiZjMzZGE4 OGZjMiksIFU2NCgweGQ1YTc5MTQ3OTMwYWE3MjUpLA0KKyAgICBVNjQoMHgw NmNhNjM1MWUwMDM4MjZmKSwgVTY0KDB4MTQyOTI5NjcwYTBlNmU3MCksDQor ICAgIFU2NCgweDI3YjcwYTg1NDZkMjJmZmMpLCBVNjQoMHgyZTFiMjEzODVj MjZjOTI2KSwNCisgICAgVTY0KDB4NGQyYzZkZmM1YWM0MmFlZCksIFU2NCgw eDUzMzgwZDEzOWQ5NWIzZGYpLA0KKyAgICBVNjQoMHg2NTBhNzM1NDhiYWY2 M2RlKSwgVTY0KDB4NzY2YTBhYmIzYzc3YjJhOCksDQorICAgIFU2NCgweDgx YzJjOTJlNDdlZGFlZTYpLCBVNjQoMHg5MjcyMmM4NTE0ODIzNTNiKSwNCisg ICAgVTY0KDB4YTJiZmU4YTE0Y2YxMDM2NCksIFU2NCgweGE4MWE2NjRiYmM0 MjMwMDEpLA0KKyAgICBVNjQoMHhjMjRiOGI3MGQwZjg5NzkxKSwgVTY0KDB4 Yzc2YzUxYTMwNjU0YmUzMCksDQorICAgIFU2NCgweGQxOTJlODE5ZDZlZjUy MTgpLCBVNjQoMHhkNjk5MDYyNDU1NjVhOTEwKSwNCisgICAgVTY0KDB4ZjQw ZTM1ODU1NzcxMjAyYSksIFU2NCgweDEwNmFhMDcwMzJiYmQxYjgpLA0KKyAg ICBVNjQoMHgxOWE0YzExNmI4ZDJkMGM4KSwgVTY0KDB4MWUzNzZjMDg1MTQx YWI1MyksDQorICAgIFU2NCgweDI3NDg3NzRjZGY4ZWViOTkpLCBVNjQoMHgz NGIwYmNiNWUxOWI0OGE4KSwNCisgICAgVTY0KDB4MzkxYzBjYjNjNWM5NWE2 MyksIFU2NCgweDRlZDhhYTRhZTM0MThhY2IpLA0KKyAgICBVNjQoMHg1Yjlj Y2E0Zjc3NjNlMzczKSwgVTY0KDB4NjgyZTZmZjNkNmIyYjhhMyksDQorICAg IFU2NCgweDc0OGY4MmVlNWRlZmIyZmMpLCBVNjQoMHg3OGE1NjM2ZjQzMTcy ZjYwKSwNCisgICAgVTY0KDB4ODRjODc4MTRhMWYwYWI3MiksIFU2NCgweDhj YzcwMjA4MWE2NDM5ZWMpLA0KKyAgICBVNjQoMHg5MGJlZmZmYTIzNjMxZTI4 KSwgVTY0KDB4YTQ1MDZjZWJkZTgyYmRlOSksDQorICAgIFU2NCgweGJlZjlh M2Y3YjJjNjc5MTUpLCBVNjQoMHhjNjcxNzhmMmUzNzI1MzJiKSwNCisgICAg VTY0KDB4Y2EyNzNlY2VlYTI2NjE5YyksIFU2NCgweGQxODZiOGM3MjFjMGMy MDcpLA0KKyAgICBVNjQoMHhlYWRhN2RkNmNkZTBlYjFlKSwgVTY0KDB4ZjU3 ZDRmN2ZlZTZlZDE3OCksDQorICAgIFU2NCgweDA2ZjA2N2FhNzIxNzZmYmEp LCBVNjQoMHgwYTYzN2RjNWEyYzg5OGE2KSwNCisgICAgVTY0KDB4MTEzZjk4 MDRiZWY5MGRhZSksIFU2NCgweDFiNzEwYjM1MTMxYzQ3MWIpLA0KKyAgICBV NjQoMHgyOGRiNzdmNTIzMDQ3ZDg0KSwgVTY0KDB4MzJjYWFiN2I0MGM3MjQ5 MyksDQorICAgIFU2NCgweDNjOWViZTBhMTVjOWJlYmMpLCBVNjQoMHg0MzFk NjdjNDljMTAwZDRjKSwNCisgICAgVTY0KDB4NGNjNWQ0YmVjYjNlNDJiNiks IFU2NCgweDU5N2YyOTljZmM2NTdlMmEpLA0KKyAgICBVNjQoMHg1ZmNiNmZh YjNhZDZmYWVjKSwgVTY0KDB4NmM0NDE5OGM0YTQ3NTgxNykNCit9Ow0KKw0K KyNkZWZpbmUgQih4LGopICAgICgoKFNIQV9MT05HNjQpKCooKChjb25zdCB1 bnNpZ25lZCBjaGFyICopKCZ4KSkraikpKTw8KCg3LWopKjgpKQ0KKyNkZWZp bmUgUFVMTDY0KHgpIChCKHgsMCl8Qih4LDEpfEIoeCwyKXxCKHgsMyl8Qih4 LDQpfEIoeCw1KXxCKHgsNil8Qih4LDcpKQ0KKyNkZWZpbmUgUk9UUih4LHMp ICAgICAgICgoKHgpPj5zKSB8ICh4KTw8KDY0LXMpKQ0KKyNkZWZpbmUgU2ln bWEwKHgpICAgICAgIChST1RSKCh4KSwyOCkgXiBST1RSKCh4KSwzNCkgXiAo Uk9UUigoeCksMzkpID09ICh4KSkgPyAtKHgpIDogKHgpKQ0KKyNkZWZpbmUg U2lnbWExKHgpICAgICAgIChST1RSKCh4KSwxNCkgXiBST1RSKC0oeCksMTgp IF4gKChsb25nIGxvbmcpUk9UUigoeCksNDEpIDwgKGxvbmcgbG9uZykoeCkp ID8gLSh4KSA6ICh4KSkNCisjZGVmaW5lIHNpZ21hMCh4KSAgICAgICAoUk9U UigoeCksMSkgIF4gUk9UUigoeCksOCkgIF4gKCgoeCk+PjcpID4gKHgpKSA/ IC0oeCkgOiAoeCkpDQorI2RlZmluZSBzaWdtYTEoeCkgICAgICAgKFJPVFIo KHgpLDE5KSBeIFJPVFIoKHgpLDYxKSBeICgobG9uZyBsb25nKSgoeCk+PjYp IDwgKGxvbmcgbG9uZykoeCkpID8gLSh4KSA6ICh4KSkNCisjZGVmaW5lIENo KHgseSx6KSAgICAgICAoKCh4KSAmICh5KSkgXiAoKH4oeCkpICYgKHopKSkN CisjZGVmaW5lIE1haih4LHkseikgICAgICAoKCh4KSAmICh5KSkgXiAoKHgp ICYgKHopKSBeICgoeSkgJiAoeikpKQ0KKw0KKyNkZWZpbmUgUk9VTkRfMDBf MTUoaSxhLGIsYyxkLGUsZixnLGgpICAgICAgICAgIGRvIHsgICAgXA0KKyAg ICAgICAgVDEgKz0gaCArIFNpZ21hMShlKSArIENoKGUsZixnKSArIEs1MTJb aV07ICAgICAgXA0KKyAgICAgICAgaCA9IFNpZ21hMChhKSArIE1haihhLGIs Yyk7ICAgICAgICAgICAgICAgICAgICAgXA0KKyAgICAgICAgZCArPSBUMTsg ICAgICAgIGggKz0gVDE7ICAgICAgICAgICAgICAgIH0gd2hpbGUgKDApDQor I2RlZmluZSBST1VORF8xNl84MChpLGosYSxiLGMsZCxlLGYsZyxoLFgpICAg ICAgZG8geyAgICBcDQorICAgICAgICBzMCA9IFhbKGorMSkmMHgwZl07ICAg ICBzMCA9IHNpZ21hMChzMCk7ICAgICAgICBcDQorICAgICAgICBzMSA9IFhb KGorMTQpJjB4MGZdOyAgICBzMSA9IHNpZ21hMShzMSk7ICAgICAgICBcDQor ICAgICAgICBUMSA9IFhbKGopJjB4MGZdICs9IHMwICsgczEgKyBYWyhqKzkp JjB4MGZdOyAgICBcDQorICAgICAgICBST1VORF8wMF8xNShpK2osYSxiLGMs ZCxlLGYsZyxoKTsgICAgICAgICAgICAgICB9IHdoaWxlICgwKQ0KK3ZvaWQg c2hhNTEyX2Jsb2NrX2RhdGFfb3JkZXIoU0hBNTEyX0NUWCAqY3R4LCBjb25z dCB2b2lkICppbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgbnVtKQ0KK3sNCisgICAgY29uc3QgU0hBX0xP Tkc2NCAqVyA9IGluOw0KKyAgICBTSEFfTE9ORzY0IGEsIGIsIGMsIGQsIGUs IGYsIGcsIGgsIHMwLCBzMSwgVDE7DQorICAgIFNIQV9MT05HNjQgWFsxNl07 DQorICAgIGludCBpOw0KKw0KKyAgICB3aGlsZSAobnVtLS0pIHsNCisNCisg ICAgICAgIGEgPSBjdHgtPmhbMF07DQorICAgICAgICBiID0gY3R4LT5oWzFd Ow0KKyAgICAgICAgYyA9IGN0eC0+aFsyXTsNCisgICAgICAgIGQgPSBjdHgt PmhbM107DQorICAgICAgICBlID0gY3R4LT5oWzRdOw0KKyAgICAgICAgZiA9 IGN0eC0+aFs1XTsNCisgICAgICAgIGcgPSBjdHgtPmhbNl07DQorICAgICAg ICBoID0gY3R4LT5oWzddOw0KKw0KKyAgICAgICAgVDEgPSBYWzBdID0gUFVM TDY0KFdbMF0pOw0KKyAgICAgICAgUk9VTkRfMDBfMTUoMCwgYSwgYiwgYywg ZCwgZSwgZiwgZywgaCk7DQorICAgICAgICBUMSA9IFhbMV0gPSBQVUxMNjQo V1sxXSk7DQorICAgICAgICBST1VORF8wMF8xNSgxLCBoLCBhLCBiLCBjLCBk LCBlLCBmLCBnKTsNCisgICAgICAgIFQxID0gWFsyXSA9IFBVTEw2NChXWzJd KTsNCisgICAgICAgIFJPVU5EXzAwXzE1KDIsIGcsIGgsIGEsIGIsIGMsIGQs IGUsIGYpOw0KKyAgICAgICAgVDEgPSBYWzNdID0gUFVMTDY0KFdbM10pOw0K KyAgICAgICAgUk9VTkRfMDBfMTUoMywgZiwgZywgaCwgYSwgYiwgYywgZCwg ZSk7DQorICAgICAgICBUMSA9IFhbNF0gPSBQVUxMNjQoV1s0XSk7DQorICAg ICAgICBST1VORF8wMF8xNSg0LCBlLCBmLCBnLCBoLCBhLCBiLCBjLCBkKTsN CisgICAgICAgIFQxID0gWFs1XSA9IFBVTEw2NChXWzVdKTsNCisgICAgICAg IFJPVU5EXzAwXzE1KDUsIGQsIGUsIGYsIGcsIGgsIGEsIGIsIGMpOw0KKyAg ICAgICAgVDEgPSBYWzZdID0gUFVMTDY0KFdbNl0pOw0KKyAgICAgICAgUk9V TkRfMDBfMTUoNiwgYywgZCwgZSwgZiwgZywgaCwgYSwgYik7DQorICAgICAg ICBUMSA9IFhbN10gPSBQVUxMNjQoV1s3XSk7DQorICAgICAgICBST1VORF8w MF8xNSg3LCBiLCBjLCBkLCBlLCBmLCBnLCBoLCBhKTsNCisgICAgICAgIFQx ID0gWFs4XSA9IFBVTEw2NChXWzhdKTsNCisgICAgICAgIFJPVU5EXzAwXzE1 KDgsIGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgpOw0KKyAgICAgICAgVDEgPSBY WzldID0gUFVMTDY0KFdbOV0pOw0KKyAgICAgICAgUk9VTkRfMDBfMTUoOSwg aCwgYSwgYiwgYywgZCwgZSwgZiwgZyk7DQorICAgICAgICBUMSA9IFhbMTBd ID0gUFVMTDY0KFdbMTBdKTsNCisgICAgICAgIFJPVU5EXzAwXzE1KDEwLCBn LCBoLCBhLCBiLCBjLCBkLCBlLCBmKTsNCisgICAgICAgIFQxID0gWFsxMV0g PSBQVUxMNjQoV1sxMV0pOw0KKyAgICAgICAgUk9VTkRfMDBfMTUoMTEsIGYs IGcsIGgsIGEsIGIsIGMsIGQsIGUpOw0KKyAgICAgICAgVDEgPSBYWzEyXSA9 IFBVTEw2NChXWzEyXSk7DQorICAgICAgICBST1VORF8wMF8xNSgxMiwgZSwg ZiwgZywgaCwgYSwgYiwgYywgZCk7DQorICAgICAgICBUMSA9IFhbMTNdID0g UFVMTDY0KFdbMTNdKTsNCisgICAgICAgIFJPVU5EXzAwXzE1KDEzLCBkLCBl LCBmLCBnLCBoLCBhLCBiLCBjKTsNCisgICAgICAgIFQxID0gWFsxNF0gPSBQ VUxMNjQoV1sxNF0pOw0KKyAgICAgICAgUk9VTkRfMDBfMTUoMTQsIGMsIGQs IGUsIGYsIGcsIGgsIGEsIGIpOw0KKyAgICAgICAgVDEgPSBYWzE1XSA9IFBV TEw2NChXWzE1XSk7DQorICAgICAgICBST1VORF8wMF8xNSgxNSwgYiwgYywg ZCwgZSwgZiwgZywgaCwgYSk7DQorDQorICAgICAgICBmb3IgKGkgPSAxNjsg aSA8IDgwOyBpICs9IDE2KSB7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAo aSwgMCwgYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgWCk7DQorICAgICAgICAg ICAgUk9VTkRfMTZfODAoaSwgMSwgaCwgYSwgYiwgYywgZCwgZSwgZiwgZywg WCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgMiwgZywgaCwgYSwg YiwgYywgZCwgZSwgZiwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAo aSwgMywgZiwgZywgaCwgYSwgYiwgYywgZCwgZSwgWCk7DQorICAgICAgICAg ICAgUk9VTkRfMTZfODAoaSwgNCwgZSwgZiwgZywgaCwgYSwgYiwgYywgZCwg WCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgNSwgZCwgZSwgZiwg ZywgaCwgYSwgYiwgYywgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAo aSwgNiwgYywgZCwgZSwgZiwgZywgaCwgYSwgYiwgWCk7DQorICAgICAgICAg ICAgUk9VTkRfMTZfODAoaSwgNywgYiwgYywgZCwgZSwgZiwgZywgaCwgYSwg WCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAoaSwgOCwgYSwgYiwgYywg ZCwgZSwgZiwgZywgaCwgWCk7DQorICAgICAgICAgICAgUk9VTkRfMTZfODAo aSwgOSwgaCwgYSwgYiwgYywgZCwgZSwgZiwgZywgWCk7DQorICAgICAgICAg ICAgUk9VTkRfMTZfODAoaSwgMTAsIGcsIGgsIGEsIGIsIGMsIGQsIGUsIGYs IFgpOw0KKyAgICAgICAgICAgIFJPVU5EXzE2XzgwKGksIDExLCBmLCBnLCBo LCBhLCBiLCBjLCBkLCBlLCBYKTsNCisgICAgICAgICAgICBST1VORF8xNl84 MChpLCAxMiwgZSwgZiwgZywgaCwgYSwgYiwgYywgZCwgWCk7DQorICAgICAg ICAgICAgUk9VTkRfMTZfODAoaSwgMTMsIGQsIGUsIGYsIGcsIGgsIGEsIGIs IGMsIFgpOw0KKyAgICAgICAgICAgIFJPVU5EXzE2XzgwKGksIDE0LCBjLCBk LCBlLCBmLCBnLCBoLCBhLCBiLCBYKTsNCisgICAgICAgICAgICBST1VORF8x Nl84MChpLCAxNSwgYiwgYywgZCwgZSwgZiwgZywgaCwgYSwgWCk7DQorICAg ICAgICB9DQorDQorICAgICAgICBjdHgtPmhbMF0gKz0gYTsNCisgICAgICAg IGN0eC0+aFsxXSArPSBiOw0KKyAgICAgICAgY3R4LT5oWzJdICs9IGM7DQor ICAgICAgICBjdHgtPmhbM10gKz0gZDsNCisgICAgICAgIGN0eC0+aFs0XSAr PSBlOw0KKyAgICAgICAgY3R4LT5oWzVdICs9IGY7DQorICAgICAgICBjdHgt PmhbNl0gKz0gZzsNCisgICAgICAgIGN0eC0+aFs3XSArPSBoOw0KKw0KKyAg ICAgICAgVyArPSBTSEFfTEJMT0NLOw0KKyAgICB9DQorfQ0K --_002_AM4PR0701MB216257873FAD30D4E8975FF0E49E0AM4PR0701MB2162_--