From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13958 invoked by alias); 10 Jan 2013 11:12:36 -0000 Received: (qmail 13949 invoked by uid 22791); 10 Jan 2013 11:12:35 -0000 X-SWARE-Spam-Status: No, hits=-5.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_ZJ X-Spam-Check-By: sourceware.org Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com) (209.85.220.173) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 10 Jan 2013 11:12:28 +0000 Received: by mail-vc0-f173.google.com with SMTP id f13so369462vcb.4 for ; Thu, 10 Jan 2013 03:12:27 -0800 (PST) MIME-Version: 1.0 Received: by 10.220.115.19 with SMTP id g19mr90371901vcq.69.1357816347571; Thu, 10 Jan 2013 03:12:27 -0800 (PST) Received: by 10.58.237.202 with HTTP; Thu, 10 Jan 2013 03:12:27 -0800 (PST) In-Reply-To: References: Date: Thu, 10 Jan 2013 11:12:00 -0000 Message-ID: Subject: Re: [RFC, x86] Changes for AVX and AVX2 processors From: Vladimir Yakovlev To: Uros Bizjak Cc: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=f46d042fd72611386c04d2ed41ff X-IsSubscribed: yes 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 X-SW-Source: 2013-01/txt/msg00528.txt.bz2 --f46d042fd72611386c04d2ed41ff Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2803 Hello Uros, It seems I didn't sent a patch with last changes. Sorry if so. Vladimir 2012-12-27 Vladimir Yakovlev : > On Sun, Dec 30, 2012 at 5:05 PM, Vladimir Yakovlev wrote: >> I fixed typos and added CalangeLog. >> >> 2012-12-27 Vladimir Yakovlev > >> * config/i386/i386-c.c (ix86_target_macros_internal): New case. >> (ix86_target_macros_internal): Likewise. >> >> * config/i386/i386.c (m_CORE2I7): Removed. >> (m_CORE_HASWELL): New macro. >> (m_CORE_ALL): Likewise. >> (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL. >> (initial_ix86_arch_features): Likewise. >> (processor_target_table): Initializations for Core avx2. >> (cpu_names): New names "core-avx2". >> (ix86_option_override_internal): Changed PROCESSOR_COREI7 by >> PROCESSOR_CORE_HASWELL. >> (ix86_issue_rate): New case. >> (ia32_multipass_dfa_lookahead): Likewise. >> (ix86_sched_init_global): Likewise. >> (get_builtin_code_for_version): Likewise. >> >> * config/i386/i386.h (TARGET_HASWELL): New macro. >> (target_cpu_default): New TARGET_CPU_DEFAULT_haswell. >> (processor_type): New PROCESSOR_HASWELL. > > Please remove this part, it should be part of processor dispatcher part: > > @@ -28705,6 +28712,10 @@ get_builtin_code_for_version (tree decl, tree > *predicate_list) > arg_str = "corei7"; > priority = P_PROC_SSE4_2; > break; > + case PROCESSOR_HASWELL: > + arg_str = "core-avx2"; > + priority = P_PROC_SSE4_2; > + break; > case PROCESSOR_ATOM: > arg_str = "atom"; > priority = P_PROC_SSSE3; > > Uros. --f46d042fd72611386c04d2ed41ff Content-Type: application/octet-stream; name=patch1 Content-Disposition: attachment; filename=patch1 Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbrsp5rg0 Content-length: 17247 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWMuYyBiL2djYy9j b25maWcvaTM4Ni9pMzg2LWMuYw0KaW5kZXggMjJlNWU5Yi4uMmQ4YWJkNSAx MDA2NDQNCi0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWMuYw0KKysrIGIv Z2NjL2NvbmZpZy9pMzg2L2kzODYtYy5jDQpAQCAtMTQyLDYgKzE0MiwxMCBA QCBpeDg2X3RhcmdldF9tYWNyb3NfaW50ZXJuYWwgKEhPU1RfV0lERV9JTlQg aXNhX2ZsYWcsDQogICAgICAgZGVmX29yX3VuZGVmIChwYXJzZV9pbiwgIl9f Y29yZWk3Iik7DQogICAgICAgZGVmX29yX3VuZGVmIChwYXJzZV9pbiwgIl9f Y29yZWk3X18iKTsNCiAgICAgICBicmVhazsNCisgICAgY2FzZSBQUk9DRVNT T1JfSEFTV0VMTDoNCisgICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2luLCAi X19jb3JlX2F2eDIiKTsNCisgICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2lu LCAiX19jb3JlX2F2eDJfXyIpOw0KKyAgICAgIGJyZWFrOw0KICAgICBjYXNl IFBST0NFU1NPUl9BVE9NOg0KICAgICAgIGRlZl9vcl91bmRlZiAocGFyc2Vf aW4sICJfX2F0b20iKTsNCiAgICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2lu LCAiX19hdG9tX18iKTsNCkBAIC0yMzIsNiArMjM2LDkgQEAgaXg4Nl90YXJn ZXRfbWFjcm9zX2ludGVybmFsIChIT1NUX1dJREVfSU5UIGlzYV9mbGFnLA0K ICAgICBjYXNlIFBST0NFU1NPUl9DT1JFSTc6DQogICAgICAgZGVmX29yX3Vu ZGVmIChwYXJzZV9pbiwgIl9fdHVuZV9jb3JlaTdfXyIpOw0KICAgICAgIGJy ZWFrOw0KKyAgICBjYXNlIFBST0NFU1NPUl9IQVNXRUxMOg0KKyAgICAgIGRl Zl9vcl91bmRlZiAocGFyc2VfaW4sICJfX3R1bmVfY29yZV9hdngyX18iKTsN CisgICAgICBicmVhazsNCiAgICAgY2FzZSBQUk9DRVNTT1JfQVRPTToNCiAg ICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2luLCAiX190dW5lX2F0b21fXyIp Ow0KICAgICAgIGJyZWFrOw0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4 Ni9pMzg2LmMgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5jDQppbmRleCA2OWY0 NGFhLi5jZGI1ZDIzIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kz ODYuYw0KKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYw0KQEAgLTE3MzIs NyArMTczMiw4IEBAIGNvbnN0IHN0cnVjdCBwcm9jZXNzb3JfY29zdHMgKml4 ODZfY29zdCA9ICZwZW50aXVtX2Nvc3Q7DQogI2RlZmluZSBtX1A0X05PQ09O QSAobV9QRU5UNCB8IG1fTk9DT05BKQ0KICNkZWZpbmUgbV9DT1JFMiAoMTw8 UFJPQ0VTU09SX0NPUkUyKQ0KICNkZWZpbmUgbV9DT1JFSTcgKDE8PFBST0NF U1NPUl9DT1JFSTcpDQotI2RlZmluZSBtX0NPUkUySTcgKG1fQ09SRTIgfCBt X0NPUkVJNykNCisjZGVmaW5lIG1fSEFTV0VMTCAoMTw8UFJPQ0VTU09SX0hB U1dFTEwpDQorI2RlZmluZSBtX0NPUkVfQUxMIChtX0NPUkUyIHwgbV9DT1JF STcgIHwgbV9IQVNXRUxMKQ0KICNkZWZpbmUgbV9BVE9NICgxPDxQUk9DRVNT T1JfQVRPTSkNCiANCiAjZGVmaW5lIG1fR0VPREUgKDE8PFBST0NFU1NPUl9H RU9ERSkNCkBAIC0xNzY4LDE2ICsxNzY5LDE2IEBAIHN0YXRpYyB1bnNpZ25l ZCBpbnQgaW5pdGlhbF9peDg2X3R1bmVfZmVhdHVyZXNbWDg2X1RVTkVfTEFT VF0gPSB7DQogICAgICBuZWdhdGl2ZWx5LCBzbyBlbmFibGluZyBmb3IgR2Vu ZXJpYzY0IHNlZW1zIGxpa2UgZ29vZCBjb2RlIHNpemUNCiAgICAgIHRyYWRl b2ZmLiAgV2UgY2FuJ3QgZW5hYmxlIGl0IGZvciAzMmJpdCBnZW5lcmljIGJl Y2F1c2UgaXQgZG9lcyBub3QNCiAgICAgIHdvcmsgd2VsbCB3aXRoIFBQcm8g YmFzZSBjaGlwcy4gICovDQotICBtXzM4NiB8IG1fQ09SRTJJNyB8IG1fSzZf R0VPREUgfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQzY0LA0KKyAgbV8z ODYgfCBtX0NPUkVfQUxMIHwgbV9LNl9HRU9ERSB8IG1fQU1EX01VTFRJUExF IHwgbV9HRU5FUklDNjQsDQogDQogICAvKiBYODZfVFVORV9QVVNIX01FTU9S WSAqLw0KLSAgbV8zODYgfCBtX1A0X05PQ09OQSB8IG1fQ09SRTJJNyB8IG1f SzZfR0VPREUgfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQywNCisgIG1f Mzg2IHwgbV9QNF9OT0NPTkEgfCBtX0NPUkVfQUxMIHwgbV9LNl9HRU9ERSB8 IG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklDLA0KIA0KICAgLyogWDg2X1RV TkVfWkVST19FWFRFTkRfV0lUSF9BTkQgKi8NCiAgIG1fNDg2IHwgbV9QRU5U LA0KIA0KICAgLyogWDg2X1RVTkVfVU5ST0xMX1NUUkxFTiAqLw0KLSAgbV80 ODYgfCBtX1BFTlQgfCBtX1BQUk8gfCBtX0FUT00gfCBtX0NPUkUySTcgfCBt X0s2IHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQorICBtXzQ4NiB8 IG1fUEVOVCB8IG1fUFBSTyB8IG1fQVRPTSB8IG1fQ09SRV9BTEwgfCBtX0s2 IHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQogDQogICAvKiBYODZf VFVORV9CUkFOQ0hfUFJFRElDVElPTl9ISU5UUzogQnJhbmNoIGhpbnRzIHdl cmUgcHV0IGluIFA0IGJhc2VkDQogICAgICBvbiBzaW11bGF0aW9uIHJlc3Vs dC4gQnV0IGFmdGVyIFA0IHdhcyBtYWRlLCBubyBwZXJmb3JtYW5jZSBiZW5l Zml0DQpAQCAtMTc4OSwxMSArMTc5MCwxMSBAQCBzdGF0aWMgdW5zaWduZWQg aW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX0xBU1Rd ID0gew0KICAgfm1fMzg2LA0KIA0KICAgLyogWDg2X1RVTkVfVVNFX1NBSEYg Ki8NCi0gIG1fUFBSTyB8IG1fUDRfTk9DT05BIHwgbV9DT1JFMkk3IHwgbV9B VE9NIHwgbV9LNl9HRU9ERSB8IG1fSzggfCBtX0FNREZBTTEwIHwgbV9CRFZF UiB8IG1fQlRWRVIgfCBtX0dFTkVSSUMsDQorICBtX1BQUk8gfCBtX1A0X05P Q09OQSB8IG1fQ09SRV9BTEwgfCBtX0FUT00gfCBtX0s2X0dFT0RFIHwgbV9L OCB8IG1fQU1ERkFNMTAgfCBtX0JEVkVSIHwgbV9CVFZFUiB8IG1fR0VORVJJ QywNCiANCiAgIC8qIFg4Nl9UVU5FX01PVlg6IEVuYWJsZSB0byB6ZXJvIGV4 dGVuZCBpbnRlZ2VyIHJlZ2lzdGVycyB0byBhdm9pZA0KICAgICAgcGFydGlh bCBkZXBlbmRlbmNpZXMuICAqLw0KLSAgbV9QUFJPIHwgbV9QNF9OT0NPTkEg fCBtX0NPUkUySTcgfCBtX0FUT00gfCBtX0dFT0RFIHwgbV9BTURfTVVMVElQ TEUgIHwgbV9HRU5FUklDLA0KKyAgbV9QUFJPIHwgbV9QNF9OT0NPTkEgfCBt X0NPUkVfQUxMIHwgbV9BVE9NIHwgbV9HRU9ERSB8IG1fQU1EX01VTFRJUExF ICB8IG1fR0VORVJJQywNCiANCiAgIC8qIFg4Nl9UVU5FX1BBUlRJQUxfUkVH X1NUQUxMOiBXZSBwcm9iYWJseSBvdWdodCB0byB3YXRjaCBmb3IgcGFydGlh bA0KICAgICAgcmVnaXN0ZXIgc3RhbGxzIG9uIEdlbmVyaWMzMiBjb21waWxh dGlvbiBzZXR0aW5nIGFzIHdlbGwuICBIb3dldmVyDQpAQCAtMTgwNiwxNyAr MTgwNywxNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl90 dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX0xBU1RdID0gew0KICAgbV9QUFJPLA0K IA0KICAgLyogWDg2X1RVTkVfUEFSVElBTF9GTEFHX1JFR19TVEFMTCAqLw0K LSAgbV9DT1JFMkk3IHwgbV9HRU5FUklDLA0KKyAgbV9DT1JFX0FMTCB8IG1f R0VORVJJQywNCiANCiAgIC8qIFg4Nl9UVU5FX0xDUF9TVEFMTDogQXZvaWQg YW4gZXhwZW5zaXZlIGxlbmd0aC1jaGFuZ2luZyBwcmVmaXggc3RhbGwNCiAg ICAqIG9uIDE2LWJpdCBpbW1lZGlhdGUgbW92ZXMgaW50byBtZW1vcnkgb24g Q29yZTIgYW5kIENvcmVpNy4gICovDQotICBtX0NPUkUySTcgfCBtX0dFTkVS SUMsDQorICBtX0NPUkVfQUxMIHwgbV9HRU5FUklDLA0KIA0KICAgLyogWDg2 X1RVTkVfVVNFX0hJTU9ERV9GSU9QICovDQogICBtXzM4NiB8IG1fNDg2IHwg bV9LNl9HRU9ERSwNCiANCiAgIC8qIFg4Nl9UVU5FX1VTRV9TSU1PREVfRklP UCAqLw0KLSAgfihtX1BFTlQgfCBtX1BQUk8gfCBtX0NPUkUySTcgfCBtX0FU T00gfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQyksDQorICB+KG1fUEVO VCB8IG1fUFBSTyB8IG1fQ09SRV9BTEwgfCBtX0FUT00gfCBtX0FNRF9NVUxU SVBMRSB8IG1fR0VORVJJQyksDQogDQogICAvKiBYODZfVFVORV9VU0VfTU9W MCAqLw0KICAgbV9LNiwNCkBAIC0xODM3LDcgKzE4MzgsNyBAQCBzdGF0aWMg dW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9U VU5FX0xBU1RdID0gew0KICAgfihtX1BFTlQgfCBtX1BQUk8pLA0KIA0KICAg LyogWDg2X1RVTkVfUFJPTU9URV9RSU1PREUgKi8NCi0gIG1fMzg2IHwgbV80 ODYgfCBtX1BFTlQgfCBtX0NPUkUySTcgfCBtX0FUT00gfCBtX0s2X0dFT0RF IHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQorICBtXzM4NiB8IG1f NDg2IHwgbV9QRU5UIHwgbV9DT1JFX0FMTCB8IG1fQVRPTSB8IG1fSzZfR0VP REUgfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQywNCiANCiAgIC8qIFg4 Nl9UVU5FX0ZBU1RfUFJFRklYICovDQogICB+KG1fMzg2IHwgbV80ODYgfCBt X1BFTlQpLA0KQEAgLTE4NzgsMTAgKzE4NzksMTAgQEAgc3RhdGljIHVuc2ln bmVkIGludCBpbml0aWFsX2l4ODZfdHVuZV9mZWF0dXJlc1tYODZfVFVORV9M QVNUXSA9IHsNCiANCiAgIC8qIFg4Nl9UVU5FX0lOVEVHRVJfREZNT0RFX01P VkVTOiBFbmFibGUgaWYgaW50ZWdlciBtb3ZlcyBhcmUgcHJlZmVycmVkDQog ICAgICBmb3IgREZtb2RlIGNvcGllcyAqLw0KLSAgfihtX1BQUk8gfCBtX1A0 X05PQ09OQSB8IG1fQ09SRTJJNyB8IG1fQVRPTSB8IG1fR0VPREUgfCBtX0FN RF9NVUxUSVBMRSB8IG1fQVRPTSB8IG1fR0VORVJJQyksDQorICB+KG1fUFBS TyB8IG1fUDRfTk9DT05BIHwgbV9DT1JFX0FMTCB8IG1fQVRPTSB8IG1fR0VP REUgfCBtX0FNRF9NVUxUSVBMRSB8IG1fQVRPTSB8IG1fR0VORVJJQyksDQog DQogICAvKiBYODZfVFVORV9QQVJUSUFMX1JFR19ERVBFTkRFTkNZICovDQot ICBtX1A0X05PQ09OQSB8IG1fQ09SRTJJNyB8IG1fQVRPTSB8IG1fQU1EX01V TFRJUExFIHwgbV9HRU5FUklDLA0KKyAgbV9QNF9OT0NPTkEgfCBtX0NPUkVf QUxMIHwgbV9BVE9NIHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQog DQogICAvKiBYODZfVFVORV9TU0VfUEFSVElBTF9SRUdfREVQRU5ERU5DWTog SW4gdGhlIEdlbmVyaWMgbW9kZWwgd2UgaGF2ZSBhDQogICAgICBjb25mbGlj dCBoZXJlIGluIGJldHdlZW4gUFByby9QZW50aXVtNCBiYXNlZCBjaGlwcyB0 aGF0IHRocmVhZCAxMjhiaXQNCkBAIC0xODkyLDcgKzE4OTMsNyBAQCBzdGF0 aWMgdW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4 Nl9UVU5FX0xBU1RdID0gew0KICAgICAgc2hvd3MgdGhhdCBkaXNhYmxpbmcg dGhpcyBvcHRpb24gb24gUDQgYnJpbmdzIG92ZXIgMjAlIFNQRUNmcCByZWdy ZXNzaW9uLA0KICAgICAgd2hpbGUgZW5hYmxpbmcgaXQgb24gSzggYnJpbmdz IHJvdWdobHkgMi40JSByZWdyZXNzaW9uIHRoYXQgY2FuIGJlIHBhcnRseQ0K ICAgICAgbWFza2VkIGJ5IGNhcmVmdWwgc2NoZWR1bGluZyBvZiBtb3Zlcy4g ICovDQotICBtX1BQUk8gfCBtX1A0X05PQ09OQSB8IG1fQ09SRTJJNyB8IG1f QVRPTSAgfCBtX0FNREZBTTEwIHwgbV9CRFZFUiB8IG1fR0VORVJJQywNCisg IG1fUFBSTyB8IG1fUDRfTk9DT05BIHwgbV9DT1JFX0FMTCB8IG1fQVRPTSAg fCBtX0FNREZBTTEwIHwgbV9CRFZFUiB8IG1fR0VORVJJQywNCiANCiAgIC8q IFg4Nl9UVU5FX1NTRV9VTkFMSUdORURfTE9BRF9PUFRJTUFMICovDQogICBt X0NPUkVJNyB8IG1fQU1ERkFNMTAgfCBtX0JEVkVSIHwgbV9CVFZFUiwNCkBA IC0xOTE2LDcgKzE5MTcsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGluaXRp YWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX0xBU1RdID0gew0KICAg bV9QUFJPIHwgbV9QNF9OT0NPTkEsDQogDQogICAvKiBYODZfVFVORV9NRU1P UllfTUlTTUFUQ0hfU1RBTEwgKi8NCi0gIG1fUDRfTk9DT05BIHwgbV9DT1JF Mkk3IHwgbV9BVE9NIHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQor ICBtX1A0X05PQ09OQSB8IG1fQ09SRV9BTEwgfCBtX0FUT00gfCBtX0FNRF9N VUxUSVBMRSB8IG1fR0VORVJJQywNCiANCiAgIC8qIFg4Nl9UVU5FX1BST0xP R1VFX1VTSU5HX01PVkUgKi8NCiAgIG1fUFBSTyB8IG1fQVRITE9OX0s4LA0K QEAgLTE5MzgsMjggKzE5MzksMjggQEAgc3RhdGljIHVuc2lnbmVkIGludCBp bml0aWFsX2l4ODZfdHVuZV9mZWF0dXJlc1tYODZfVFVORV9MQVNUXSA9IHsN CiANCiAgIC8qIFg4Nl9UVU5FX0ZPVVJfSlVNUF9MSU1JVDogU29tZSBDUFUg Y29yZXMgYXJlIG5vdCBhYmxlIHRvIHByZWRpY3QgbW9yZQ0KICAgICAgdGhh biA0IGJyYW5jaCBpbnN0cnVjdGlvbnMgaW4gdGhlIDE2IGJ5dGUgd2luZG93 LiAgKi8NCi0gIG1fUFBSTyB8IG1fUDRfTk9DT05BIHwgbV9DT1JFMkk3IHwg bV9BVE9NIHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVSSUMsDQorICBtX1BQ Uk8gfCBtX1A0X05PQ09OQSB8IG1fQ09SRV9BTEwgfCBtX0FUT00gfCBtX0FN RF9NVUxUSVBMRSB8IG1fR0VORVJJQywNCiANCiAgIC8qIFg4Nl9UVU5FX1ND SEVEVUxFICovDQotICBtX1BFTlQgfCBtX1BQUk8gfCBtX0NPUkUySTcgfCBt X0FUT00gfCBtX0s2X0dFT0RFIHwgbV9BTURfTVVMVElQTEUgfCBtX0dFTkVS SUMsDQorICBtX1BFTlQgfCBtX1BQUk8gfCBtX0NPUkVfQUxMIHwgbV9BVE9N IHwgbV9LNl9HRU9ERSB8IG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklDLA0K IA0KICAgLyogWDg2X1RVTkVfVVNFX0JUICovDQotICBtX0NPUkUySTcgfCBt X0FUT00gfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQywNCisgIG1fQ09S RV9BTEwgfCBtX0FUT00gfCBtX0FNRF9NVUxUSVBMRSB8IG1fR0VORVJJQywN CiANCiAgIC8qIFg4Nl9UVU5FX1VTRV9JTkNERUMgKi8NCi0gIH4obV9QNF9O T0NPTkEgfCBtX0NPUkUySTcgfCBtX0FUT00gfCBtX0dFTkVSSUMpLA0KKyAg fihtX1A0X05PQ09OQSB8IG1fQ09SRV9BTEwgfCBtX0FUT00gfCBtX0dFTkVS SUMpLA0KIA0KICAgLyogWDg2X1RVTkVfUEFEX1JFVFVSTlMgKi8NCi0gIG1f Q09SRTJJNyB8IG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklDLA0KKyAgbV9D T1JFX0FMTCB8IG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklDLA0KIA0KICAg LyogWDg2X1RVTkVfUEFEX1NIT1JUX0ZVTkNUSU9OOiBQYWQgc2hvcnQgZnVu dGlvbi4gICovDQogICBtX0FUT00sDQogDQogICAvKiBYODZfVFVORV9FWFRf ODAzODdfQ09OU1RBTlRTICovDQotICBtX1BQUk8gfCBtX1A0X05PQ09OQSB8 IG1fQ09SRTJJNyB8IG1fQVRPTSB8IG1fSzZfR0VPREUgfCBtX0FUSExPTl9L OCB8IG1fR0VORVJJQywNCisgIG1fUFBSTyB8IG1fUDRfTk9DT05BIHwgbV9D T1JFX0FMTCB8IG1fQVRPTSB8IG1fSzZfR0VPREUgfCBtX0FUSExPTl9LOCB8 IG1fR0VORVJJQywNCiANCiAgIC8qIFg4Nl9UVU5FX0FWT0lEX1ZFQ1RPUl9E RUNPREUgKi8NCi0gIG1fQ09SRTJJNyB8IG1fSzggfCBtX0dFTkVSSUM2NCwN CisgIG1fQ09SRV9BTEwgfCBtX0s4IHwgbV9HRU5FUklDNjQsDQogDQogICAv KiBYODZfVFVORV9QUk9NT1RFX0hJTU9ERV9JTVVMOiBNb2Rlcm4gQ1BVcyBo YXZlIHNhbWUgbGF0ZW5jeSBmb3IgSEltb2RlDQogICAgICBhbmQgU0ltb2Rl IG11bHRpcGx5LCBidXQgMzg2IGFuZCA0ODYgZG8gSEltb2RlIG11bHRpcGx5 IGZhc3Rlci4gICovDQpAQCAtMTk2NywxMSArMTk2OCwxMSBAQCBzdGF0aWMg dW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9U VU5FX0xBU1RdID0gew0KIA0KICAgLyogWDg2X1RVTkVfU0xPV19JTVVMX0lN TTMyX01FTTogSW11bCBvZiAzMi1iaXQgY29uc3RhbnQgYW5kIG1lbW9yeSBp cw0KICAgICAgdmVjdG9yIHBhdGggb24gQU1EIG1hY2hpbmVzLiAgKi8NCi0g IG1fQ09SRTJJNyB8IG1fSzggfCBtX0FNREZBTTEwIHwgbV9CRFZFUiB8IG1f QlRWRVIgfCBtX0dFTkVSSUM2NCwNCisgIG1fQ09SRV9BTEwgfCBtX0s4IHwg bV9BTURGQU0xMCB8IG1fQkRWRVIgfCBtX0JUVkVSIHwgbV9HRU5FUklDNjQs DQogDQogICAvKiBYODZfVFVORV9TTE9XX0lNVUxfSU1NODogSW11bCBvZiA4 LWJpdCBjb25zdGFudCBpcyB2ZWN0b3IgcGF0aCBvbiBBTUQNCiAgICAgIG1h Y2hpbmVzLiAgKi8NCi0gIG1fQ09SRTJJNyB8IG1fSzggfCBtX0FNREZBTTEw IHwgbV9CRFZFUiB8IG1fQlRWRVIgfCBtX0dFTkVSSUM2NCwNCisgIG1fQ09S RV9BTEwgfCBtX0s4IHwgbV9BTURGQU0xMCB8IG1fQkRWRVIgfCBtX0JUVkVS IHwgbV9HRU5FUklDNjQsDQogDQogICAvKiBYODZfVFVORV9NT1ZFX00xX1ZJ QV9PUjogT24gcGVudGl1bXMsIGl0IGlzIGZhc3RlciB0byBsb2FkIC0xIHZp YSBPUg0KICAgICAgdGhhbiBhIE1PVi4gICovDQpAQCAtMTk4OCw3ICsxOTg5 LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbml0aWFsX2l4ODZfdHVuZV9m ZWF0dXJlc1tYODZfVFVORV9MQVNUXSA9IHsNCiANCiAgIC8qIFg4Nl9UVU5F X1VTRV9WRUNUT1JfRlBfQ09OVkVSVFM6IFByZWZlciB2ZWN0b3IgcGFja2Vk IFNTRSBjb252ZXJzaW9uDQogICAgICBmcm9tIEZQIHRvIEZQLiAqLw0KLSAg bV9DT1JFMkk3IHwgbV9BTURGQU0xMCB8IG1fR0VORVJJQywNCisgIG1fQ09S RV9BTEwgfCBtX0FNREZBTTEwIHwgbV9HRU5FUklDLA0KIA0KICAgLyogWDg2 X1RVTkVfVVNFX1ZFQ1RPUl9DT05WRVJUUzogUHJlZmVyIHZlY3RvciBwYWNr ZWQgU1NFIGNvbnZlcnNpb24NCiAgICAgIGZyb20gaW50ZWdlciB0byBGUC4g Ki8NCkBAIC0yMDI2LDcgKzIwMjcsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IGluaXRpYWxfaXg4Nl90dW5lX2ZlYXR1cmVzW1g4Nl9UVU5FX0xBU1RdID0g ew0KIA0KICAgLyogWDg2X1RVTkVfR0VORVJBTF9SRUdTX1NTRV9TUElMTDog VHJ5IHRvIHNwaWxsIGdlbmVyYWwgcmVncyB0byBTU0UNCiAgICAgIHJlZ3Mg aW5zdGVhZCBvZiBtZW1vcnkuICAqLw0KLSAgbV9DT1JFSTcgfCBtX0NPUkUy STcNCisgIG1fQ09SRV9BTEwNCiB9Ow0KIA0KIC8qIEZlYXR1cmUgdGVzdHMg YWdhaW5zdCB0aGUgdmFyaW91cyBhcmNoaXRlY3R1cmUgdmFyaWF0aW9ucy4g ICovDQpAQCAtMjA1MiwxMCArMjA1MywxMCBAQCBzdGF0aWMgdW5zaWduZWQg aW50IGluaXRpYWxfaXg4Nl9hcmNoX2ZlYXR1cmVzW1g4Nl9BUkNIX0xBU1Rd ID0gew0KIH07DQogDQogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCB4ODZf YWNjdW11bGF0ZV9vdXRnb2luZ19hcmdzDQotICA9IG1fUFBSTyB8IG1fUDRf Tk9DT05BIHwgbV9BVE9NIHwgbV9DT1JFMkk3IHwgbV9BTURfTVVMVElQTEUg fCBtX0dFTkVSSUM7DQorICA9IG1fUFBSTyB8IG1fUDRfTk9DT05BIHwgbV9B VE9NIHwgbV9DT1JFX0FMTCB8IG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklD Ow0KIA0KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgeDg2X2FyY2hfYWx3 YXlzX2ZhbmN5X21hdGhfMzg3DQotICA9IG1fUEVOVCB8IG1fUFBSTyB8IG1f UDRfTk9DT05BIHwgbV9DT1JFMkk3IHwgbV9BVE9NIHwgbV9BTURfTVVMVElQ TEUgfCBtX0dFTkVSSUM7DQorICA9IG1fUEVOVCB8IG1fUFBSTyB8IG1fUDRf Tk9DT05BIHwgbV9DT1JFX0FMTCB8IG1fQVRPTSB8IG1fQU1EX01VTFRJUExF IHwgbV9HRU5FUklDOw0KIA0KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQg eDg2X2F2eDI1Nl9zcGxpdF91bmFsaWduZWRfbG9hZA0KICAgPSBtX0NPUkVJ NyB8IG1fR0VORVJJQzsNCkBAIC0yNDM2LDYgKzI0MzcsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHB0dCBwcm9jZXNzb3JfdGFyZ2V0X3RhYmxlW1BST0NF U1NPUl9tYXhdID0NCiAgIHsmY29yZV9jb3N0LCAxNiwgMTAsIDE2LCAxMCwg MTZ9LA0KICAgLyogQ29yZSBpNyAgKi8NCiAgIHsmY29yZV9jb3N0LCAxNiwg MTAsIDE2LCAxMCwgMTZ9LA0KKyAgLyogQ29yZSBhdngyICAqLw0KKyAgeyZj b3JlX2Nvc3QsIDE2LCAxMCwgMTYsIDEwLCAxNn0sDQogICB7JmdlbmVyaWMz Ml9jb3N0LCAxNiwgNywgMTYsIDcsIDE2fSwNCiAgIHsmZ2VuZXJpYzY0X2Nv c3QsIDE2LCAxMCwgMTYsIDEwLCAxNn0sDQogICB7JmFtZGZhbTEwX2Nvc3Qs IDMyLCAyNCwgMzIsIDcsIDMyfSwNCkBAIC0yNDYzLDYgKzI0NjYsNyBAQCBz dGF0aWMgY29uc3QgY2hhciAqY29uc3QgY3B1X25hbWVzW1RBUkdFVF9DUFVf REVGQVVMVF9tYXhdID0NCiAgICJub2NvbmEiLA0KICAgImNvcmUyIiwNCiAg ICJjb3JlaTciLA0KKyAgImNvcmUtYXZ4MiIsDQogICAiYXRvbSIsDQogICAi Z2VvZGUiLA0KICAgIms2IiwNCkBAIC0yOTE0LDcgKzI5MTgsNyBAQCBpeDg2 X29wdGlvbl9vdmVycmlkZV9pbnRlcm5hbCAoYm9vbCBtYWluX2FyZ3NfcCkN CiAJfCBQVEFfU1NTRTMgfCBQVEFfU1NFNF8xIHwgUFRBX1NTRTRfMiB8IFBU QV9BVlgNCiAJfCBQVEFfQ1gxNiB8IFBUQV9QT1BDTlQgfCBQVEFfQUVTIHwg UFRBX1BDTE1VTCB8IFBUQV9GU0dTQkFTRQ0KIAl8IFBUQV9SRFJORCB8IFBU QV9GMTZDIHwgUFRBX0ZYU1IgfCBQVEFfWFNBVkUgfCBQVEFfWFNBVkVPUFR9 LA0KLSAgICAgIHsiY29yZS1hdngyIiwgUFJPQ0VTU09SX0NPUkVJNywgQ1BV X0NPUkVJNywNCisgICAgICB7ImNvcmUtYXZ4MiIsIFBST0NFU1NPUl9IQVNX RUxMLCBDUFVfQ09SRUk3LA0KIAlQVEFfNjRCSVQgfCBQVEFfTU1YIHwgUFRB X1NTRSB8IFBUQV9TU0UyIHwgUFRBX1NTRTMNCiAJfCBQVEFfU1NTRTMgfCBQ VEFfU1NFNF8xIHwgUFRBX1NTRTRfMiB8IFBUQV9BVlggfCBQVEFfQVZYMg0K IAl8IFBUQV9DWDE2IHwgUFRBX1BPUENOVCB8IFBUQV9BRVMgfCBQVEFfUENM TVVMIHwgUFRBX0ZTR1NCQVNFDQpAQCAtMjQwNjEsNiArMjQwNjUsNyBAQCBp eDg2X2lzc3VlX3JhdGUgKHZvaWQpDQogICAgIGNhc2UgUFJPQ0VTU09SX1BF TlRJVU00Og0KICAgICBjYXNlIFBST0NFU1NPUl9DT1JFMjoNCiAgICAgY2Fz ZSBQUk9DRVNTT1JfQ09SRUk3Og0KKyAgICBjYXNlIFBST0NFU1NPUl9IQVNX RUxMOg0KICAgICBjYXNlIFBST0NFU1NPUl9BVEhMT046DQogICAgIGNhc2Ug UFJPQ0VTU09SX0s4Og0KICAgICBjYXNlIFBST0NFU1NPUl9BTURGQU0xMDoN CkBAIC0yNDMxNyw2ICsyNDMyMiw3IEBAIGlhMzJfbXVsdGlwYXNzX2RmYV9s b29rYWhlYWQgKHZvaWQpDQogDQogICAgIGNhc2UgUFJPQ0VTU09SX0NPUkUy Og0KICAgICBjYXNlIFBST0NFU1NPUl9DT1JFSTc6DQorICAgIGNhc2UgUFJP Q0VTU09SX0hBU1dFTEw6DQogICAgIGNhc2UgUFJPQ0VTU09SX0FUT006DQog ICAgICAgLyogR2VuZXJhbGx5LCB3ZSB3YW50IGhhaWZhLXNjaGVkOm1heF9p c3N1ZSgpIHRvIGxvb2sgYWhlYWQgYXMgZmFyDQogCSBhcyBtYW55IGluc3Ry dWN0aW9ucyBjYW4gYmUgZXhlY3V0ZWQgb24gYSBjeWNsZSwgaS5lLiwNCkBA IC0yNDg2MSw2ICsyNDg2Nyw3IEBAIGl4ODZfc2NoZWRfaW5pdF9nbG9iYWwg KEZJTEUgKmR1bXAgQVRUUklCVVRFX1VOVVNFRCwNCiAgICAgew0KICAgICBj YXNlIFBST0NFU1NPUl9DT1JFMjoNCiAgICAgY2FzZSBQUk9DRVNTT1JfQ09S RUk3Og0KKyAgICBjYXNlIFBST0NFU1NPUl9IQVNXRUxMOg0KICAgICAgIC8q IERvIG5vdCBwZXJmb3JtIG11bHRpcGFzcyBzY2hlZHVsaW5nIGZvciBwcmUt cmVsb2FkIHNjaGVkdWxlDQogICAgICAgICAgdG8gc2F2ZSBjb21waWxlIHRp bWUuICAqLw0KICAgICAgIGlmIChyZWxvYWRfY29tcGxldGVkKQ0KZGlmZiAt LWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmggYi9nY2MvY29uZmlnL2kz ODYvaTM4Ni5oDQppbmRleCAzYWMzNDUxLi5lZTIxYzQ3IDEwMDY0NA0KLS0t IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuaA0KKysrIGIvZ2NjL2NvbmZpZy9p Mzg2L2kzODYuaA0KQEAgLTI0OCw2ICsyNDgsNyBAQCBleHRlcm4gY29uc3Qg c3RydWN0IHByb2Nlc3Nvcl9jb3N0cyBpeDg2X3NpemVfY29zdDsNCiAjZGVm aW5lIFRBUkdFVF9OT0NPTkEgKGl4ODZfdHVuZSA9PSBQUk9DRVNTT1JfTk9D T05BKQ0KICNkZWZpbmUgVEFSR0VUX0NPUkUyIChpeDg2X3R1bmUgPT0gUFJP Q0VTU09SX0NPUkUyKQ0KICNkZWZpbmUgVEFSR0VUX0NPUkVJNyAoaXg4Nl90 dW5lID09IFBST0NFU1NPUl9DT1JFSTcpDQorI2RlZmluZSBUQVJHRVRfSEFT V0VMTCAoaXg4Nl90dW5lID09IFBST0NFU1NPUl9IQVNXRUxMKQ0KICNkZWZp bmUgVEFSR0VUX0dFTkVSSUMzMiAoaXg4Nl90dW5lID09IFBST0NFU1NPUl9H RU5FUklDMzIpDQogI2RlZmluZSBUQVJHRVRfR0VORVJJQzY0IChpeDg2X3R1 bmUgPT0gUFJPQ0VTU09SX0dFTkVSSUM2NCkNCiAjZGVmaW5lIFRBUkdFVF9H RU5FUklDIChUQVJHRVRfR0VORVJJQzMyIHx8IFRBUkdFVF9HRU5FUklDNjQp DQpAQCAtNjAzLDYgKzYwNCw3IEBAIGVudW0gdGFyZ2V0X2NwdV9kZWZhdWx0 DQogICBUQVJHRVRfQ1BVX0RFRkFVTFRfbm9jb25hLA0KICAgVEFSR0VUX0NQ VV9ERUZBVUxUX2NvcmUyLA0KICAgVEFSR0VUX0NQVV9ERUZBVUxUX2NvcmVp NywNCisgIFRBUkdFVF9DUFVfREVGQVVMVF9oYXN3ZWxsLA0KICAgVEFSR0VU X0NQVV9ERUZBVUxUX2F0b20sDQogDQogICBUQVJHRVRfQ1BVX0RFRkFVTFRf Z2VvZGUsDQpAQCAtMjA5NSw2ICsyMDk3LDcgQEAgZW51bSBwcm9jZXNzb3Jf dHlwZQ0KICAgUFJPQ0VTU09SX05PQ09OQSwNCiAgIFBST0NFU1NPUl9DT1JF MiwNCiAgIFBST0NFU1NPUl9DT1JFSTcsDQorICBQUk9DRVNTT1JfSEFTV0VM TCwNCiAgIFBST0NFU1NPUl9HRU5FUklDMzIsDQogICBQUk9DRVNTT1JfR0VO RVJJQzY0LA0KICAgUFJPQ0VTU09SX0FNREZBTTEwLA0K --f46d042fd72611386c04d2ed41ff--