From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55222 invoked by alias); 14 Oct 2015 05:13:45 -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 55206 invoked by uid 89); 14 Oct 2015 05:13:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.6 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RCVD_IN_SEMBACKSCATTER,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0067.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Wed, 14 Oct 2015 05:13:42 +0000 Received: from SN2PR0701MB1024.namprd07.prod.outlook.com (10.160.57.150) by SN2PR0701MB1024.namprd07.prod.outlook.com (10.160.57.150) with Microsoft SMTP Server (TLS) id 15.1.293.16; Wed, 14 Oct 2015 05:13:40 +0000 Received: from SN2PR0701MB1024.namprd07.prod.outlook.com ([10.160.57.150]) by SN2PR0701MB1024.namprd07.prod.outlook.com ([10.160.57.150]) with mapi id 15.01.0293.007; Wed, 14 Oct 2015 05:13:40 +0000 From: "Hurugalawadi, Naveen" To: Richard Biener CC: "marc.glisse@inria.fr" , GCC Patches Subject: Re: Move some bit and binary optimizations in simplify and match Date: Wed, 14 Oct 2015 05:13:00 -0000 Message-ID: References: , In-Reply-To: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Naveen.Hurugalawadi@caviumnetworks.com; x-microsoft-exchange-diagnostics: 1;SN2PR0701MB1024;5:1rL+PuOKn7keJcGuDI5yPlJ9bVe3fOrkwEfgJ6Dmjp0fk71ftSxna74n7wxbGS51wvb0X7LCKAaBLW4cW9DiRmHig4Q5Yeg1Akeax9UHAiK1I4QCvde+AyUWBPsCzYXycuwVmQ4NzzCbihc2rf3zFw==;24:qcSVTHGs8jbjDW+4bQnB833G2i0bF8aYnfTJ/90UJQWbzs+DO81dkL0p11OAnAJLm/pvS0BM78IXMVZMfiPfR4Kuo486btZeqThDtK7nLns=;20:9T5rtuSo41Lisp29x93VZGbNit6Jy3YZ2+C6cY0pilBpYAfU6or8WvtINW/E8q8odPV412TK1HF6+KhmH3t3WA== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR0701MB1024; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001);SRVR:SN2PR0701MB1024;BCL:0;PCL:0;RULEID:;SRVR:SN2PR0701MB1024; x-forefront-prvs: 0729050452 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(199003)(164054003)(189002)(33656002)(99936001)(5008740100001)(189998001)(110136002)(5001960100002)(106356001)(93886004)(105586002)(86362001)(99286002)(106116001)(76576001)(101416001)(5890100001)(64706001)(10400500002)(5007970100001)(66066001)(87936001)(102836002)(5003600100002)(92566002)(2950100001)(2900100001)(97736004)(558084003)(76176999)(122556002)(74316001)(77096005)(50986999)(54356999)(46102003)(40100003)(11100500001)(5004730100002)(81156007)(5002640100001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN2PR0701MB1024;H:SN2PR0701MB1024.namprd07.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_SN2PR0701MB10249F42F47E03257133DAF78E3F0SN2PR0701MB1024_" MIME-Version: 1.0 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2015 05:13:39.7426 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR0701MB1024 X-SW-Source: 2015-10/txt/msg01309.txt.bz2 --_002_SN2PR0701MB10249F42F47E03257133DAF78E3F0SN2PR0701MB1024_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 254 Hi. >> please adjust also according to these comments. Adjusted the patch as per your comments. Please find attached the patch as per your comments. Please review the patch and let me know if any further modifications=20 are required. Thanks, Naveen= --_002_SN2PR0701MB10249F42F47E03257133DAF78E3F0SN2PR0701MB1024_ Content-Type: text/x-patch; name="bit-bin1.patch" Content-Description: bit-bin1.patch Content-Disposition: attachment; filename="bit-bin1.patch"; size=8849; creation-date="Wed, 14 Oct 2015 05:13:13 GMT"; modification-date="Wed, 14 Oct 2015 05:13:13 GMT" Content-Transfer-Encoding: base64 Content-length: 11997 ZGlmZiAtLWdpdCBhL2djYy9mb2xkLWNvbnN0LmMgYi9nY2MvZm9sZC1jb25z dC5jCmluZGV4IGRlNDVhMmMuLjJkODFiMmMgMTAwNjQ0Ci0tLSBhL2djYy9m b2xkLWNvbnN0LmMKKysrIGIvZ2NjL2ZvbGQtY29uc3QuYwpAQCAtOTIzMiwy NiArOTIzMiw2IEBAIGZvbGRfYmluYXJ5X2xvYyAobG9jYXRpb25fdCBsb2Ms CiAgICAgICByZXR1cm4gTlVMTF9UUkVFOwogCiAgICAgY2FzZSBQTFVTX0VY UFI6Ci0gICAgICBpZiAoSU5URUdSQUxfVFlQRV9QICh0eXBlKSB8fCBWRUNU T1JfSU5URUdFUl9UWVBFX1AgKHR5cGUpKQotCXsKLQkgIC8qIFggKyAoWCAv IENTVCkgKiAtQ1NUIGlzIFggJSBDU1QuICAqLwotCSAgaWYgKFRSRUVfQ09E RSAoYXJnMSkgPT0gTVVMVF9FWFBSCi0JICAgICAgJiYgVFJFRV9DT0RFIChU UkVFX09QRVJBTkQgKGFyZzEsIDApKSA9PSBUUlVOQ19ESVZfRVhQUgotCSAg ICAgICYmIG9wZXJhbmRfZXF1YWxfcCAoYXJnMCwKLQkJCQkgIFRSRUVfT1BF UkFORCAoVFJFRV9PUEVSQU5EIChhcmcxLCAwKSwgMCksIDApKQotCSAgICB7 Ci0JICAgICAgdHJlZSBjc3QwID0gVFJFRV9PUEVSQU5EIChUUkVFX09QRVJB TkQgKGFyZzEsIDApLCAxKTsKLQkgICAgICB0cmVlIGNzdDEgPSBUUkVFX09Q RVJBTkQgKGFyZzEsIDEpOwotCSAgICAgIHRyZWUgc3VtID0gZm9sZF9iaW5h cnlfbG9jIChsb2MsIFBMVVNfRVhQUiwgVFJFRV9UWVBFIChjc3QxKSwKLQkJ CQkgICAgICBjc3QxLCBjc3QwKTsKLQkgICAgICBpZiAoc3VtICYmIGludGVn ZXJfemVyb3AgKHN1bSkpCi0JCXJldHVybiBmb2xkX2NvbnZlcnRfbG9jIChs b2MsIHR5cGUsCi0JCQkJCSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgVFJVTkNf TU9EX0VYUFIsCi0JCQkJCQkgICAgICBUUkVFX1RZUEUgKGFyZzApLCBhcmcw LAotCQkJCQkJICAgICAgY3N0MCkpOwotCSAgICB9Ci0JfQotCiAgICAgICAv KiBIYW5kbGUgKEExICogQzEpICsgKEEyICogQzIpIHdpdGggQTEsIEEyIG9y IEMxLCBDMiBiZWluZyB0aGUgc2FtZSBvcgogCSBvbmUuICBNYWtlIHN1cmUg dGhlIHR5cGUgaXMgbm90IHNhdHVyYXRpbmcgYW5kIGhhcyB0aGUgc2lnbmVk bmVzcyBvZgogCSB0aGUgc3RyaXBwZWQgb3BlcmFuZHMsIGFzIGZvbGRfcGx1 c21pbnVzX211bHRfZXhwciB3aWxsIHJlLWFzc29jaWF0ZS4KQEAgLTk2OTIs MjggKzk2NzIsNiBAQCBmb2xkX2JpbmFyeV9sb2MgKGxvY2F0aW9uX3QgbG9j LAogCQkJICAgIGZvbGRfY29udmVydF9sb2MgKGxvYywgdHlwZSwKIAkJCQkJ ICAgICAgVFJFRV9PUEVSQU5EIChhcmcwLCAwKSkpOwogCi0gICAgICBpZiAo ISBGTE9BVF9UWVBFX1AgKHR5cGUpKQotCXsKLQkgIC8qIEZvbGQgKEEgJiB+ QikgLSAoQSAmIEIpIGludG8gKEEgXiBCKSAtIEIsIHdoZXJlIEIgaXMKLQkg ICAgIGFueSBwb3dlciBvZiAyIG1pbnVzIDEuICAqLwotCSAgaWYgKFRSRUVf Q09ERSAoYXJnMCkgPT0gQklUX0FORF9FWFBSCi0JICAgICAgJiYgVFJFRV9D T0RFIChhcmcxKSA9PSBCSVRfQU5EX0VYUFIKLQkgICAgICAmJiBvcGVyYW5k X2VxdWFsX3AgKFRSRUVfT1BFUkFORCAoYXJnMCwgMCksCi0JCQkJICBUUkVF X09QRVJBTkQgKGFyZzEsIDApLCAwKSkKLQkgICAgewotCSAgICAgIHRyZWUg bWFzazAgPSBUUkVFX09QRVJBTkQgKGFyZzAsIDEpOwotCSAgICAgIHRyZWUg bWFzazEgPSBUUkVFX09QRVJBTkQgKGFyZzEsIDEpOwotCSAgICAgIHRyZWUg dGVtID0gZm9sZF9idWlsZDFfbG9jIChsb2MsIEJJVF9OT1RfRVhQUiwgdHlw ZSwgbWFzazApOwotCi0JICAgICAgaWYgKG9wZXJhbmRfZXF1YWxfcCAodGVt LCBtYXNrMSwgMCkpCi0JCXsKLQkJICB0ZW0gPSBmb2xkX2J1aWxkMl9sb2Mg KGxvYywgQklUX1hPUl9FWFBSLCB0eXBlLAotCQkJCSAgICAgVFJFRV9PUEVS QU5EIChhcmcwLCAwKSwgbWFzazEpOwotCQkgIHJldHVybiBmb2xkX2J1aWxk Ml9sb2MgKGxvYywgTUlOVVNfRVhQUiwgdHlwZSwgdGVtLCBtYXNrMSk7Ci0J CX0KLQkgICAgfQotCX0KLQogICAgICAgLyogRm9sZCBfX2NvbXBsZXhfXyAo IHgsIDAgKSAtIF9fY29tcGxleF9fICggMCwgeSApIHRvCiAJIF9fY29tcGxl eF9fICggeCwgLXkgKS4gIFRoaXMgaXMgbm90IHRoZSBzYW1lIGZvciBTTmFO cyBvciBpZgogCSBzaWduZWQgemVyb3MgYXJlIGludm9sdmVkLiAgKi8KQEAg LTk4MDMsMjAgKzk3NjEsNiBAQCBmb2xkX2JpbmFyeV9sb2MgKGxvY2F0aW9u X3QgbG9jLAogICAgICAgZ290byBhc3NvY2lhdGU7CiAKICAgICBjYXNlIE1V TFRfRVhQUjoKLSAgICAgIC8qICgtQSkgKiAoLUIpIC0+IEEgKiBCICAqLwot ICAgICAgaWYgKFRSRUVfQ09ERSAoYXJnMCkgPT0gTkVHQVRFX0VYUFIgJiYg bmVnYXRlX2V4cHJfcCAoYXJnMSkpCi0JcmV0dXJuIGZvbGRfYnVpbGQyX2xv YyAobG9jLCBNVUxUX0VYUFIsIHR5cGUsCi0JCQkgICAgZm9sZF9jb252ZXJ0 X2xvYyAobG9jLCB0eXBlLAotCQkJCQkgICAgICBUUkVFX09QRVJBTkQgKGFy ZzAsIDApKSwKLQkJCSAgICBmb2xkX2NvbnZlcnRfbG9jIChsb2MsIHR5cGUs Ci0JCQkJCSAgICAgIG5lZ2F0ZV9leHByIChhcmcxKSkpOwotICAgICAgaWYg KFRSRUVfQ09ERSAoYXJnMSkgPT0gTkVHQVRFX0VYUFIgJiYgbmVnYXRlX2V4 cHJfcCAoYXJnMCkpCi0JcmV0dXJuIGZvbGRfYnVpbGQyX2xvYyAobG9jLCBN VUxUX0VYUFIsIHR5cGUsCi0JCQkgICAgZm9sZF9jb252ZXJ0X2xvYyAobG9j LCB0eXBlLAotCQkJCQkgICAgICBuZWdhdGVfZXhwciAoYXJnMCkpLAotCQkJ ICAgIGZvbGRfY29udmVydF9sb2MgKGxvYywgdHlwZSwKLQkJCQkJICAgICAg VFJFRV9PUEVSQU5EIChhcmcxLCAwKSkpOwotCiAgICAgICBpZiAoISBGTE9B VF9UWVBFX1AgKHR5cGUpKQogCXsKIAkgIC8qIFRyYW5zZm9ybSB4ICogLUMg aW50byAteCAqIEMgaWYgeCBpcyBlYXNpbHkgbmVnYXRhYmxlLiAgKi8KQEAg LTk4MzAsMTYgKzk3NzQsNiBAQCBmb2xkX2JpbmFyeV9sb2MgKGxvY2F0aW9u X3QgbG9jLAogCQkJCQkJICBuZWdhdGVfZXhwciAoYXJnMCkpLAogCQkJCXRl bSk7CiAKLQkgIC8qIChhICogKDEgPDwgYikpIGlzIChhIDw8IGIpICAqLwot CSAgaWYgKFRSRUVfQ09ERSAoYXJnMSkgPT0gTFNISUZUX0VYUFIKLQkgICAg ICAmJiBpbnRlZ2VyX29uZXAgKFRSRUVfT1BFUkFORCAoYXJnMSwgMCkpKQot CSAgICByZXR1cm4gZm9sZF9idWlsZDJfbG9jIChsb2MsIExTSElGVF9FWFBS LCB0eXBlLCBvcDAsCi0JCQkJVFJFRV9PUEVSQU5EIChhcmcxLCAxKSk7Ci0J ICBpZiAoVFJFRV9DT0RFIChhcmcwKSA9PSBMU0hJRlRfRVhQUgotCSAgICAg ICYmIGludGVnZXJfb25lcCAoVFJFRV9PUEVSQU5EIChhcmcwLCAwKSkpCi0J ICAgIHJldHVybiBmb2xkX2J1aWxkMl9sb2MgKGxvYywgTFNISUZUX0VYUFIs IHR5cGUsIG9wMSwKLQkJCQlUUkVFX09QRVJBTkQgKGFyZzAsIDEpKTsKLQog CSAgLyogKEEgKyBBKSAqIEMgLT4gQSAqIDIgKiBDICAqLwogCSAgaWYgKFRS RUVfQ09ERSAoYXJnMCkgPT0gUExVU19FWFBSCiAJICAgICAgJiYgVFJFRV9D T0RFIChhcmcxKSA9PSBJTlRFR0VSX0NTVApAQCAtOTg4MiwyMSArOTgxNiw2 IEBAIGZvbGRfYmluYXJ5X2xvYyAobG9jYXRpb25fdCBsb2MsCiAJfQogICAg ICAgZWxzZQogCXsKLQkgIC8qIENvbnZlcnQgKEMxL1gpKkMyIGludG8gKEMx KkMyKS9YLiAgVGhpcyB0cmFuc2Zvcm1hdGlvbiBtYXkgY2hhbmdlCi0gICAg ICAgICAgICAgdGhlIHJlc3VsdCBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMg ZHVlIHRvIHJvdW5kaW5nIHNvIGl0IGlzIGFwcGxpZWQKLSAgICAgICAgICAg ICBvbmx5IGlmIC1mYXNzb2NpYXRpdmUtbWF0aCB3YXMgc3BlY2lmeS4gICov Ci0JICBpZiAoZmxhZ19hc3NvY2lhdGl2ZV9tYXRoCi0JICAgICAgJiYgVFJF RV9DT0RFIChhcmcwKSA9PSBSRElWX0VYUFIKLQkgICAgICAmJiBUUkVFX0NP REUgKGFyZzEpID09IFJFQUxfQ1NUCi0JICAgICAgJiYgVFJFRV9DT0RFIChU UkVFX09QRVJBTkQgKGFyZzAsIDApKSA9PSBSRUFMX0NTVCkKLQkgICAgewot CSAgICAgIHRyZWUgdGVtID0gY29uc3RfYmlub3AgKE1VTFRfRVhQUiwgVFJF RV9PUEVSQU5EIChhcmcwLCAwKSwKLQkJCQkgICAgICBhcmcxKTsKLQkgICAg ICBpZiAodGVtKQotCQlyZXR1cm4gZm9sZF9idWlsZDJfbG9jIChsb2MsIFJE SVZfRVhQUiwgdHlwZSwgdGVtLAotCQkJCSAgICBUUkVFX09QRVJBTkQgKGFy ZzAsIDEpKTsKLQkgICAgfQotCiAgICAgICAgICAgLyogU3RyaXAgc2lnbiBv cGVyYXRpb25zIGZyb20gWCBpbiBYKlgsIGkuZS4gLVkqLVkgLT4gWSpZLiAg Ki8KIAkgIGlmIChvcGVyYW5kX2VxdWFsX3AgKGFyZzAsIGFyZzEsIDApKQog CSAgICB7CkBAIC0xMDAxMywyOCArOTkzMiw2IEBAIGZvbGRfYmluYXJ5X2xv YyAobG9jYXRpb25fdCBsb2MsCiAJCQkJICAgIGFyZzEpOwogCX0KIAotICAg ICAgLyogKFggJiB+WSkgfCAoflggJiBZKSBpcyBYIF4gWSAqLwotICAgICAg aWYgKFRSRUVfQ09ERSAoYXJnMCkgPT0gQklUX0FORF9FWFBSCi0JICAmJiBU UkVFX0NPREUgKGFyZzEpID09IEJJVF9BTkRfRVhQUikKLSAgICAgICAgewot CSAgdHJlZSBhMCwgYTEsIGwwLCBsMSwgbjAsIG4xOwotCi0JICBhMCA9IGZv bGRfY29udmVydF9sb2MgKGxvYywgdHlwZSwgVFJFRV9PUEVSQU5EIChhcmcx LCAwKSk7Ci0JICBhMSA9IGZvbGRfY29udmVydF9sb2MgKGxvYywgdHlwZSwg VFJFRV9PUEVSQU5EIChhcmcxLCAxKSk7Ci0KLQkgIGwwID0gZm9sZF9jb252 ZXJ0X2xvYyAobG9jLCB0eXBlLCBUUkVFX09QRVJBTkQgKGFyZzAsIDApKTsK LQkgIGwxID0gZm9sZF9jb252ZXJ0X2xvYyAobG9jLCB0eXBlLCBUUkVFX09Q RVJBTkQgKGFyZzAsIDEpKTsKLQkgIAotCSAgbjAgPSBmb2xkX2J1aWxkMV9s b2MgKGxvYywgQklUX05PVF9FWFBSLCB0eXBlLCBsMCk7Ci0JICBuMSA9IGZv bGRfYnVpbGQxX2xvYyAobG9jLCBCSVRfTk9UX0VYUFIsIHR5cGUsIGwxKTsK LQkgIAotCSAgaWYgKChvcGVyYW5kX2VxdWFsX3AgKG4wLCBhMCwgMCkKLQkg ICAgICAgJiYgb3BlcmFuZF9lcXVhbF9wIChuMSwgYTEsIDApKQotCSAgICAg IHx8IChvcGVyYW5kX2VxdWFsX3AgKG4wLCBhMSwgMCkKLQkJICAmJiBvcGVy YW5kX2VxdWFsX3AgKG4xLCBhMCwgMCkpKQotCSAgICByZXR1cm4gZm9sZF9i dWlsZDJfbG9jIChsb2MsIEJJVF9YT1JfRVhQUiwgdHlwZSwgbDAsIG4xKTsK LQl9Ci0KICAgICAgIC8qIFNlZSBpZiB0aGlzIGNhbiBiZSBzaW1wbGlmaWVk IGludG8gYSByb3RhdGUgZmlyc3QuICBJZiB0aGF0CiAJIGlzIHVuc3VjY2Vz c2Z1bCBjb250aW51ZSBpbiB0aGUgYXNzb2NpYXRpb24gY29kZS4gICovCiAg ICAgICBnb3RvIGJpdF9yb3RhdGU7CkBAIC0xMDA1MywyMiArOTk1MCw2IEBA IGZvbGRfYmluYXJ5X2xvYyAobG9jYXRpb25fdCBsb2MsCiAgICAgICBnb3Rv IGJpdF9yb3RhdGU7CiAKICAgICBjYXNlIEJJVF9BTkRfRVhQUjoKLSAgICAg IC8qIH5YICYgWCwgKFggPT0gMCkgJiBYLCBhbmQgIVggJiBYIGFyZSBhbHdh eXMgemVyby4gICovCi0gICAgICBpZiAoKFRSRUVfQ09ERSAoYXJnMCkgPT0g QklUX05PVF9FWFBSCi0JICAgfHwgVFJFRV9DT0RFIChhcmcwKSA9PSBUUlVU SF9OT1RfRVhQUgotCSAgIHx8IChUUkVFX0NPREUgKGFyZzApID09IEVRX0VY UFIKLQkgICAgICAgJiYgaW50ZWdlcl96ZXJvcCAoVFJFRV9PUEVSQU5EIChh cmcwLCAxKSkpKQotCSAgJiYgb3BlcmFuZF9lcXVhbF9wIChUUkVFX09QRVJB TkQgKGFyZzAsIDApLCBhcmcxLCAwKSkKLQlyZXR1cm4gb21pdF9vbmVfb3Bl cmFuZF9sb2MgKGxvYywgdHlwZSwgaW50ZWdlcl96ZXJvX25vZGUsIGFyZzEp OwotCi0gICAgICAvKiBYICYgflggLCBYICYgKFggPT0gMCksIGFuZCBYICYg IVggYXJlIGFsd2F5cyB6ZXJvLiAgKi8KLSAgICAgIGlmICgoVFJFRV9DT0RF IChhcmcxKSA9PSBCSVRfTk9UX0VYUFIKLQkgICB8fCBUUkVFX0NPREUgKGFy ZzEpID09IFRSVVRIX05PVF9FWFBSCi0JICAgfHwgKFRSRUVfQ09ERSAoYXJn MSkgPT0gRVFfRVhQUgotCSAgICAgICAmJiBpbnRlZ2VyX3plcm9wIChUUkVF X09QRVJBTkQgKGFyZzEsIDEpKSkpCi0JICAmJiBvcGVyYW5kX2VxdWFsX3Ag KGFyZzAsIFRSRUVfT1BFUkFORCAoYXJnMSwgMCksIDApKQotCXJldHVybiBv bWl0X29uZV9vcGVyYW5kX2xvYyAobG9jLCB0eXBlLCBpbnRlZ2VyX3plcm9f bm9kZSwgYXJnMCk7Ci0KICAgICAgIC8qIEZvbGQgKFggXiAxKSAmIDEgYXMg KFggJiAxKSA9PSAwLiAgKi8KICAgICAgIGlmIChUUkVFX0NPREUgKGFyZzAp ID09IEJJVF9YT1JfRVhQUgogCSAgJiYgSU5URUdSQUxfVFlQRV9QICh0eXBl KQpkaWZmIC0tZ2l0IGEvZ2NjL21hdGNoLnBkIGIvZ2NjL21hdGNoLnBkCmlu ZGV4IDY3MTQ3OTYuLjU4MTNiZjcgMTAwNjQ0Ci0tLSBhL2djYy9tYXRjaC5w ZAorKysgYi9nY2MvbWF0Y2gucGQKQEAgLTMyMyw2ICszMjMsNjUgQEAgYWxv bmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBz ZWUKICAgICAoaWYgKHJlYWxfaXNpbnRlZ2VyICgmVFJFRV9SRUFMX0NTVCAo QDEpLCAmbikgJiYgKG4gJiAxKSA9PSAwKQogICAgICAocG93cyBAMCBAMSkp KSkpKQogCisvKiBGb2xkIFggKyAoWCAvIENTVCkgKiAtQ1NUIHRvIFggJSBD U1QuICAqLworKG1hdGNoICh4ZGl2YW11bG1pbnVzYSBAMCBAMSkKKyAobXVs dCAodHJ1bmNfZGl2IEAwIEAxKSAobmVnYXRlIEAxKSkpCisobWF0Y2ggKHhk aXZhbXVsbWludXNhIEAwIEAxKQorIChtdWx0ICh0cnVuY19kaXYgQDAgSU5U RUdFUl9DU1RAMSkgSU5URUdFUl9DU1RAMikKKyAgKGlmICh3aTo6YWRkIChA MSwgQDIpID09IDApKSkKKworKHNpbXBsaWZ5CisgKHBsdXMgKGNvbnZlcnQ/ IEAwKSAoY29udmVydD8gKHhkaXZhbXVsbWludXNhIEAwIEAxKSkpCisgIChp ZiAoKElOVEVHUkFMX1RZUEVfUCAodHlwZSkgfHwgVkVDVE9SX0lOVEVHRVJf VFlQRV9QICh0eXBlKSkKKwkmJiB0cmVlX25vcF9jb252ZXJzaW9uX3AgKHR5 cGUsIFRSRUVfVFlQRSAoQDApKSkKKyAgICh0cnVuY19tb2QgKGNvbnZlcnQg QDApIChjb252ZXJ0IEAxKSkpKQorCisobWF0Y2ggKGFiaXRhbmRub3RiIEAw IEAxKQorIChiaXRfYW5kOmMgQDAgKGJpdF9ub3QgQDEpKSkKKyhtYXRjaCAo YWJpdGFuZG5vdGIgQDAgQDEpCisgKGJpdF9hbmQ6YyBJTlRFR0VSX0NTVEAw IChiaXRfbm90IEAxKSkpCisobWF0Y2ggKGFiaXRhbmRub3RiIEAwIEAxKQor IChiaXRfYW5kOmMgQDAgKGJpdF9ub3QgSU5URUdFUl9DU1RAMSkpKQorCiso bWF0Y2ggKGFiaXRhbmRiIEAwIEAxKQorIChiaXRfYW5kOmMgQDAgQDEpKQor KG1hdGNoIChhYml0YW5kYiBAMCBAMSkKKyAoYml0X2FuZDpjIElOVEVHRVJf Q1NUQDAgQDEpKQorKG1hdGNoIChhYml0YW5kYiBAMCBAMSkKKyAoYml0X2Fu ZDpjIEAwIElOVEVHRVJfQ1NUQDEpKQorCisvKiBGb2xkIChBICYgfkIpIC0g KEEgJiBCKSBpbnRvIChBIF4gQikgLSBCLiAgKi8KKyhzaW1wbGlmeQorICht aW51cyAoYWJpdGFuZG5vdGIgQDAgQDEpIChhYml0YW5kYiBAMCBAMSkpCisg IChpZiAoISBGTE9BVF9UWVBFX1AgKHR5cGUpKQorICAgKG1pbnVzIChiaXRf eG9yIEAwIEAxKSBAMSkpKQorCisvKiBGb2xkIChhICogKDEgPDwgYikpIGlu dG8gKGEgPDwgYikgICovCisoc2ltcGxpZnkKKyAobXVsdDpjIEAwIChjb252 ZXJ0PyAobHNoaWZ0IGludGVnZXJfb25lcEAxIEAyKSkpCisgIChpZiAoISBG TE9BVF9UWVBFX1AgKHR5cGUpCisJICYmIHRyZWVfbm9wX2NvbnZlcnNpb25f cCAodHlwZSwgVFJFRV9UWVBFIChAMikpKQorICAgKGxzaGlmdCBAMCAoY29u dmVydCBAMikpKSkKKworLyogRm9sZCAoQzEvWCkqQzIgaW50byAoQzEqQzIp L1guICAqLworKHNpbXBsaWZ5CisgKG11bHQgKHJkaXYgUkVBTF9DU1RAMCBA MSkgUkVBTF9DU1RAMikKKyAgKGlmIChmbGFnX2Fzc29jaWF0aXZlX21hdGgp CisgICh3aXRoCisgICB7IHRyZWUgdGVtID0gY29uc3RfYmlub3AgKE1VTFRf RVhQUiwgdHlwZSwgQDAsIEAyKTsgfQorICAoaWYgKHRlbSkKKyAgIChyZGl2 IHsgdGVtOyB9IEAxKSkpKSkKKworLyogU2ltcGxpZnkgKFggJiB+WSkgfCAo flggJiBZKSBpcyBYIF4gWS4gICovCisoc2ltcGxpZnkKKyAoYml0X2lvciAo Yml0X2FuZDpjcyBAMCAoYml0X25vdCBAMSkpIChhYml0YW5kbm90YiBAMSBA MCkpCisgIChiaXRfeG9yIEAwIEAxKSkKKworLyogU2ltcGxpZnkgflggJiBY IGFzIHplcm8uICAqLworKHNpbXBsaWZ5CisgKGJpdF9hbmQ6YyAoY29udmVy dD8gQDApIChjb252ZXJ0PyAoYml0X25vdCBAMCkpKQorICB7IGJ1aWxkX3pl cm9fY3N0ICh0eXBlKTsgfSkKKwogLyogWCAlIFkgaXMgc21hbGxlciB0aGFu IFkuICAqLwogKGZvciBjbXAgKGx0IGdlKQogIChzaW1wbGlmeQpAQCAtNTQy LDYgKzYwMSwxMyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENP UFlJTkczLiAgSWYgbm90IHNlZQogKG1hdGNoIG5lZ2F0ZV9leHByX3AKICBW RUNUT1JfQ1NUCiAgKGlmIChGTE9BVF9UWVBFX1AgKFRSRUVfVFlQRSAodHlw ZSkpIHx8IFRZUEVfT1ZFUkZMT1dfV1JBUFMgKHR5cGUpKSkpCisKKy8qICgt QSkgKiAoLUIpIC0+IEEgKiBCICAqLworKHNpbXBsaWZ5CisgKG11bHQ6YyAo Y29udmVydDE/IChuZWdhdGUgQDApKSAoY29udmVydDI/IG5lZ2F0ZV9leHBy X3BAMSkpCisgIChpZiAodHJlZV9ub3BfY29udmVyc2lvbl9wICh0eXBlLCBU UkVFX1RZUEUgKEAwKSkKKyAgICAgICAmJiB0cmVlX25vcF9jb252ZXJzaW9u X3AgKHR5cGUsIFRSRUVfVFlQRSAoQDEpKSkKKyAgIChtdWx0IChjb252ZXJ0 IEAwKSAoY29udmVydCAobmVnYXRlIEAxKSkpKSkKICAKIC8qIC0oQSArIEIp IC0+ICgtQikgLSBBLiAgKi8KIChzaW1wbGlmeQo= --_002_SN2PR0701MB10249F42F47E03257133DAF78E3F0SN2PR0701MB1024_--