From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) by sourceware.org (Postfix) with ESMTPS id 685A03857B9B for ; Thu, 9 Nov 2023 14:59:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 685A03857B9B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 685A03857B9B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.206.34.216 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699541971; cv=none; b=I1dhJIgc1YiieKJCUCwbMNZJ8h2XRYrtuHEHcSj8lr0+N4OA+1LyPrDhV0OspdfXB8oYzuD78NanEEYPRt2AqGdHeFqL9x3NKJfc1pXtlsKkCrNzj79+KdmDZej0Sen0/3ZqqHqxTuVjL0To/IeEvJNB0yhBNAgUEUc+4XtFxLg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699541971; c=relaxed/simple; bh=pBqGZCIxEsLDFZLPJc0wXfoG1IQ4/g39tkextxpL7hM=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=gKtMQNUKYZU929mtDZjCQZXZZ1LT7c6t51VDyltlnOq3jWKQL8o8GI3FrzsvBHhclnirK7cQLLtOF4pZ1ihE27GjBODZyFLU2Ia/Z6VEY9Jh/rww0HHkSr2dh4BuEhLTUUKyK4gvkwwqLgEchtZ+CMMmJiC1hEbmA83jSSjziKg= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp90t1699541959tsahsah4 Received: from TABLET-POE6JQHH ( [116.77.2.214]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 09 Nov 2023 22:59:18 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: aBJFcW+uBGZ844cJlhW/HdDU5uHJoZF8Q5zhTtXMxxJySzOb8N+BbmyoJPKOl fvGaN/nRD1XVx81q6DNmewkvCBs2VqB8HExJFm6g0Ejbz+mxfYQ/hos8hmwMFqRJ/HqdRTG Acfp+41nD36ncPQKyxyrnCSKFQKl4PMKGm8Vt6kEC2FALIHRlIzB0bUbsXnuP0ThVjti6nQ tcZIu1Bm18FACo7FC5we8Ack0OvoyzP3Ajl48nPZArS1dxHrlFXd90OzvUoBD+8l5/xcrP6 THyCfI9UYPPzbQUVKhNvi+p53p4RUngdBv5T34GfmQz8fXoLtKwlEnZbszLcO8j/G07QL3h 3HNPr761sF0wvLUln+guZcyOaeqlueeNRDEg1OmxcJqO+HMxbcNhTJGzTqraANYGfwIc3MZ z65t0dDzBAiPnCHhwXdEZcbFg0BDf14KWYmHrtNT7/+PYWs8OZBb5z25t6FGmuOQ X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9515417145755633108 Date: Thu, 9 Nov 2023 22:59:19 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: richard.guenther Cc: gcc-patches , richard.sandiford , rguenther , kito.cheng , kito.cheng Subject: Re: Re: [PATCH] Middle-end: Fix bug of induction variable vectorization for RVV References: <20231108105317.1786716-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 9740B7B5-4ED8-48DC-8F3A-25A026877FF4 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart073836830681_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart073836830681_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGksIFJpY2hhcmQuDQoNCj4+IEkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVy IHRvIHNwbGl0IG91dCBidWlsZGluZyBhIHRyZWUgZnJvbSBWRiBmcm9tIGJv dGgNCj4+IGFybXMgYW5kIGF2b2lkIHVzaW5nICd2Zicgd2hlbiBMT09QX1ZJ TkZPX1VTSU5HX1NFTEVDVF9WTF9QLg0KDQpJIGFtIHRyeWluZyB0byBzcGxp dCBvdXQgYnVpbGRpbmcgdHJlZSBmcm9tIGJvdGggYXJtcyBhcyB5b3Ugc3Vn Z2VzdGVkLi4NCkNvdWxkIHlvdSB0YWtlIGEgbG9vayB0aGUgZm9sbG93aW5n IGNvZGVzID8NCg0KZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3QtbG9vcC5j YyBiL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KaW5kZXggOGFiYzE5MzdkNzQu LjI0YTg2MTg3ZDExIDEwMDY0NA0KLS0tIGEvZ2NjL3RyZWUtdmVjdC1sb29w LmNjDQorKysgYi9nY2MvdHJlZS12ZWN0LWxvb3AuY2MNCkBAIC0xMDMxNSwx OSArMTAzMTUsNDcgQEAgdmVjdG9yaXphYmxlX2luZHVjdGlvbiAobG9vcF92 ZWNfaW5mbyBsb29wX3ZpbmZvLA0KICAgICAgIC8qIGl2X2xvb3AgaXMgdGhl IGxvb3AgdG8gYmUgdmVjdG9yaXplZC4gR2VuZXJhdGU6DQogICAgdmVjX3N0 ZXAgPSBbVkYqUywgVkYqUywgVkYqUywgVkYqU10gICovDQogICAgICAgZ2lt cGxlX3NlcSBzZXEgPSBOVUxMOw0KLSAgICAgIGlmIChTQ0FMQVJfRkxPQVRf VFlQRV9QIChUUkVFX1RZUEUgKHN0ZXBfZXhwcikpKQ0KKyAgICAgIGlmIChM T09QX1ZJTkZPX1VTSU5HX1NFTEVDVF9WTF9QIChsb29wX3ZpbmZvKSkNCiAg ew0KLSAgIGV4cHIgPSBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9k ZSwgdmYpOw0KLSAgIGV4cHIgPSBnaW1wbGVfYnVpbGQgKCZzZXEsIEZMT0FU X0VYUFIsIFRSRUVfVFlQRSAoc3RlcF9leHByKSwgZXhwcik7DQorICAgLyog V2hlbiB3ZSdyZSB1c2luZyBsb29wX2xlbiBwcm9kdWNlZCBieSBTRUxFQ19W TCwgdGhlIG5vbi1maW5hbA0KKyAgICAgIGl0ZXJhdGlvbnMgYXJlIG5vdCBh bHdheXMgcHJvY2Vzc2luZyBWRiBlbGVtZW50cy4gIFNvIHZlY3Rvcml6ZQ0K KyAgICAgIGluZHVjdGlvbiB2YXJpYWJsZSBpbnN0ZWFkIG9mDQorDQorICAg ICAgICBfMjEgPSB2ZWN0X3ZlY19pdl8uNl8yMiArIHsgVkYsIC4uLiB9Ow0K Kw0KKyAgICAgIFdlIHNob3VsZCBnZW5lcmF0ZToNCisNCisgICAgICAgXzM1 ID0gLlNFTEVDVF9WTCAoaXZ0bXBfMzMsIFZGKTsNCisgICAgICAgdmVjdF9j c3RfXzIyID0gW3ZlY19kdXBsaWNhdGVfZXhwcl0gXzM1Ow0KKyAgICAgICBf MjEgPSB2ZWN0X3ZlY19pdl8uNl8yMiArIHZlY3RfY3N0X18yMjsgICovDQor ICAgdmVjX2xvb3BfbGVucyAqbGVucyA9ICZMT09QX1ZJTkZPX0xFTlMgKGxv b3BfdmluZm8pOw0KKyAgIHRyZWUgbGVuDQorICAgICA9IHZlY3RfZ2V0X2xv b3BfbGVuIChsb29wX3ZpbmZvLCBOVUxMLCBsZW5zLCAxLCB2ZWN0eXBlLCAw LCAwKTsNCisgICBleHByID0gZm9yY2VfZ2ltcGxlX29wZXJhbmQgKGZvbGRf Y29udmVydCAoVFJFRV9UWVBFIChzdGVwX2V4cHIpLA0KKyAgICAgIHVuc2hh cmVfZXhwciAobGVuKSksDQorICAgICAgICAmc2VxLCB0cnVlLCBOVUxMX1RS RUUpOw0KICB9DQogICAgICAgZWxzZQ0KLSBleHByID0gYnVpbGRfaW50X2Nz dCAoVFJFRV9UWVBFIChzdGVwX2V4cHIpLCB2Zik7DQorIHsNCisgICBib29s IGZsb2F0X3AgPSBTQ0FMQVJfRkxPQVRfVFlQRV9QIChUUkVFX1RZUEUgKHN0 ZXBfZXhwcikpOw0KKyAgIGV4cHIgPSBidWlsZF9pbnRfY3N0IChmbG9hdF9w ID8gaW50ZWdlcl90eXBlX25vZGUNCisgOiBUUkVFX1RZUEUgKHN0ZXBfZXhw ciksDQorIHZmKTsNCisgICBpZiAoZmxvYXRfcCkNCisgICAgIGV4cHIgPSBn aW1wbGVfYnVpbGQgKCZzZXEsIEZMT0FUX0VYUFIsIFRSRUVfVFlQRSAoc3Rl cF9leHByKSwgZXhwcik7DQorIH0NCisNCiAgICAgICBuZXdfbmFtZSA9IGdp bXBsZV9idWlsZCAoJnNlcSwgTVVMVF9FWFBSLCBUUkVFX1RZUEUgKHN0ZXBf ZXhwciksDQogICAgICAgICBleHByLCBzdGVwX2V4cHIpOw0KICAgICAgIGlm IChzZXEpDQogIHsNCi0gICBuZXdfYmIgPSBnc2lfaW5zZXJ0X3NlcV9vbl9l ZGdlX2ltbWVkaWF0ZSAocGUsIHNlcSk7DQotICAgZ2NjX2Fzc2VydCAoIW5l d19iYik7DQorICAgaWYgKExPT1BfVklORk9fVVNJTkdfU0VMRUNUX1ZMX1Ag KGxvb3BfdmluZm8pKQ0KKyAgICAgZ3NpX2luc2VydF9zZXFfYmVmb3JlICgm c2ksIHNlcSwgR1NJX1NBTUVfU1RNVCk7DQorICAgZWxzZQ0KKyAgICAgew0K KyAgICAgICBuZXdfYmIgPSBnc2lfaW5zZXJ0X3NlcV9vbl9lZGdlX2ltbWVk aWF0ZSAocGUsIHNlcSk7DQorICAgICAgIGdjY19hc3NlcnQgKCFuZXdfYmIp Ow0KKyAgICAgfQ0KICB9DQogICAgIH0NCiANCkBAIC0xMDMzNSw5ICsxMDM2 Myw5IEBAIHZlY3Rvcml6YWJsZV9pbmR1Y3Rpb24gKGxvb3BfdmVjX2luZm8g bG9vcF92aW5mbywNCiAgIGdjY19hc3NlcnQgKENPTlNUQU5UX0NMQVNTX1Ag KG5ld19uYW1lKQ0KICAgICAgICB8fCBUUkVFX0NPREUgKG5ld19uYW1lKSA9 PSBTU0FfTkFNRSk7DQogICBuZXdfdmVjID0gYnVpbGRfdmVjdG9yX2Zyb21f dmFsIChzdGVwX3ZlY3R5cGUsIHQpOw0KLSAgdmVjX3N0ZXAgPSB2ZWN0X2lu aXRfdmVjdG9yIChsb29wX3ZpbmZvLCBzdG10X2luZm8sDQotICAgICAgICBu ZXdfdmVjLCBzdGVwX3ZlY3R5cGUsIE5VTEwpOw0KLQ0KKyAgdmVjX3N0ZXAN CisgICAgPSB2ZWN0X2luaXRfdmVjdG9yIChsb29wX3ZpbmZvLCBzdG10X2lu Zm8sIG5ld192ZWMsIHN0ZXBfdmVjdHlwZSwNCisgTE9PUF9WSU5GT19VU0lO R19TRUxFQ1RfVkxfUCAobG9vcF92aW5mbykgPyAmc2kgOiBOVUxMKTsNCg0K VGhhbmtzLg0KDQoNCmp1emhlLnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBS aWNoYXJkIEJpZW5lcg0KRGF0ZTogMjAyMy0xMS0wOSAyMDoxNg0KVG86IEp1 emhlLVpob25nDQpDQzogZ2NjLXBhdGNoZXM7IHJpY2hhcmQuc2FuZGlmb3Jk OyByZ3VlbnRoZXI7IGtpdG8uY2hlbmc7IGtpdG8uY2hlbmcNClN1YmplY3Q6 IFJlOiBbUEFUQ0hdIE1pZGRsZS1lbmQ6IEZpeCBidWcgb2YgaW5kdWN0aW9u IHZhcmlhYmxlIHZlY3Rvcml6YXRpb24gZm9yIFJWVg0KT24gV2VkLCBOb3Yg OCwgMjAyMyBhdCAxMTo1M+KAr0FNIEp1emhlLVpob25nIDxqdXpoZS56aG9u Z0ByaXZhaS5haT4gd3JvdGU6DQo+DQo+IFBSOiBodHRwczovL2djYy5nbnUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMTI0MzgNCj4NCj4gU0VM RUNUX1ZMIHJlc3VsdCBpcyBub3QgbmVjZXNzYXJ5IGFsd2F5cyBWRiBpbiBu b24tZmluYWwgaXRlcmF0aW9uLg0KPg0KPiBDdXJyZW50IEdJTVBMRSBJUiBp cyB3cm9uZzoNCj4NCj4gIyB2ZWN0X3ZlY19pdl8uMjFfMjUgPSBQSEkgPF8y NCg0KSwgeyAwLCAxLCAyLCAuLi4gfSgzKT4NCj4gLi4uDQo+IF8yNCA9IHZl Y3RfdmVjX2l2Xy4yMV8yNSArIHsgUE9MWV9JTlRfQ1NUIFs0LCA0XSwgLi4u IH07DQo+DQo+IEFmdGVyIHRoaXMgcGF0Y2ggd2hpY2ggaXMgY29ycmVjdCBm b3IgU0VMRUNUX1ZMOg0KPg0KPiAjIHZlY3RfdmVjX2l2Xy44XzIyID0gUEhJ IDxfMjEoNCksIHsgMCwgMSwgMiwgLi4uIH0oMyk+DQo+IC4uLg0KPiBfMzUg PSAuU0VMRUNUX1ZMIChpdnRtcF8zMywgUE9MWV9JTlRfQ1NUIFs0LCA0XSk7 DQo+IF8yMSA9IHZlY3RfdmVjX2l2Xy44XzIyICsgeyBQT0xZX0lOVF9DU1Qg WzQsIDRdLCAuLi4gfTsNCj4NCj4ga2l0bywgY291bGQgeW91IGdpdmUgbW9y ZSBleHBsYW5hdGlvbiA/DQo+DQo+ICAgICAgICAgUFIgbWlkZGxlLzExMjQz OA0KPg0KPiBnY2MvQ2hhbmdlTG9nOg0KPg0KPiAgICAgICAgICogdHJlZS12 ZWN0LWxvb3AuY2MgKHZlY3Rvcml6YWJsZV9pbmR1Y3Rpb24pOiBGaXggYnVn Lg0KPg0KPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4NCj4gICAgICAg ICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcHIxMTI0MzguYzog TmV3IHRlc3QuDQo+DQo+IC0tLQ0KPiAgLi4uL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvcHIxMTI0MzguYyAgIHwgMzUgKysrKysrKysrKysrKysr KysNCj4gIGdjYy90cmVlLXZlY3QtbG9vcC5jYyAgICAgICAgICAgICAgICAg ICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKy0tLS0NCj4gIDIgZmlsZXMg Y2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2F1dG92ZWMvcHIxMTI0MzguYw0KPg0KPiBkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3ByMTEyNDM4LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvcHIxMTI0MzguYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uYjMyNmQ1NmE1MmMNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvcHIxMTI0MzguYw0KPiBAQCAtMCwwICsxLDM1IEBA DQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRp b25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMgLWZuby12ZWN0 LWNvc3QtbW9kZWwgLWZmYXN0LW1hdGggLWZkdW1wLXRyZWUtb3B0aW1pemVk LWRldGFpbHMiIH0gKi8NCj4gKw0KPiArdm9pZA0KPiArZm9vIChpbnQgbiwg aW50ICpfX3Jlc3RyaWN0IGluLCBpbnQgKl9fcmVzdHJpY3Qgb3V0KQ0KPiAr ew0KPiArICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkgKz0gMSkNCj4gKyAg ICB7DQo+ICsgICAgICBvdXRbaV0gPSBpbltpXSArIGk7DQo+ICsgICAgfQ0K PiArfQ0KPiArDQo+ICt2b2lkDQo+ICtmb28yIChpbnQgbiwgZmxvYXQgKiBf X3Jlc3RyaWN0IGluLA0KPiArZmxvYXQgKiBfX3Jlc3RyaWN0IG91dCkNCj4g K3sNCj4gKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpICs9IDEpDQo+ICsg ICAgew0KPiArICAgICAgb3V0W2ldID0gaW5baV0gKyBpOw0KPiArICAgIH0N Cj4gK30NCj4gKw0KPiArdm9pZA0KPiArZm9vMyAoaW50IG4sIGZsb2F0ICog X19yZXN0cmljdCBpbiwNCj4gK2Zsb2F0ICogX19yZXN0cmljdCBvdXQsIGZs b2F0IHgpDQo+ICt7DQo+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSAr PSAxKQ0KPiArICAgIHsNCj4gKyAgICAgIG91dFtpXSA9IGluW2ldICsgaSog aTsNCj4gKyAgICB9DQo+ICt9DQo+ICsNCj4gKy8qIFdlIGRvbid0IHdhbnQg dG8gc2VlIHZlY3RfdmVjX2l2Xy4yMV8yNSArIHsgUE9MWV9JTlRfQ1NUIFs0 LCA0XSwgLi4uIH0uICAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLW5vdCAiXFwrIFx7IFBPTFlfSU5UX0NTVCIgIm9wdGltaXplZCIg fSB9ICovDQo+ICsNCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3QtbG9v cC5jYyBiL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiBpbmRleCBhNTQ0YmM5 YjA1OS4uM2UxMDM5NDYxNjggMTAwNjQ0DQo+IC0tLSBhL2djYy90cmVlLXZl Y3QtbG9vcC5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0LWxvb3AuY2MNCj4g QEAgLTEwMzA5LDEwICsxMDMwOSwzMCBAQCB2ZWN0b3JpemFibGVfaW5kdWN0 aW9uIChsb29wX3ZlY19pbmZvIGxvb3BfdmluZm8sDQo+ICAgICAgbmV3X25h bWUgPSBzdGVwX2V4cHI7DQo+ICAgIGVsc2UNCj4gICAgICB7DQo+ICsgICAg ICBnaW1wbGVfc2VxIHNlcSA9IE5VTEw7DQo+ICsgICAgICBpZiAoTE9PUF9W SU5GT19VU0lOR19TRUxFQ1RfVkxfUCAobG9vcF92aW5mbykpDQo+ICsgICAg ICAgew0KPiArICAgICAgICAgLyogV2hlbiB3ZSdyZSB1c2luZyBsb29wX2xl biBwcm9kdWNlZCBieSBTRUxFQ19WTCwgdGhlIG5vbi1maW5hbA0KPiArICAg ICAgICAgICAgaXRlcmF0aW9ucyBhcmUgbm90IGFsd2F5cyBwcm9jZXNzaW5n IFZGIGVsZW1lbnRzLiAgU28gdmVjdG9yaXplDQo+ICsgICAgICAgICAgICBp bmR1Y3Rpb24gdmFyaWFibGUgaW5zdGVhZCBvZg0KPiArDQo+ICsgICAgICAg ICAgICAgIF8yMSA9IHZlY3RfdmVjX2l2Xy42XzIyICsgeyBWRiwgLi4uIH07 DQo+ICsNCj4gKyAgICAgICAgICAgIFdlIHNob3VsZCBnZW5lcmF0ZToNCj4g Kw0KPiArICAgICAgICAgICAgICBfMzUgPSAuU0VMRUNUX1ZMIChpdnRtcF8z MywgVkYpOw0KPiArICAgICAgICAgICAgICB2ZWN0X2NzdF9fMjIgPSBbdmVj X2R1cGxpY2F0ZV9leHByXSBfMzU7DQo+ICsgICAgICAgICAgICAgIF8yMSA9 IHZlY3RfdmVjX2l2Xy42XzIyICsgdmVjdF9jc3RfXzIyOyAgKi8NCj4gKyAg ICAgICAgIHZlY19sb29wX2xlbnMgKmxlbnMgPSAmTE9PUF9WSU5GT19MRU5T IChsb29wX3ZpbmZvKTsNCj4gKyAgICAgICAgIHRyZWUgbGVuDQo+ICsgICAg ICAgICAgID0gdmVjdF9nZXRfbG9vcF9sZW4gKGxvb3BfdmluZm8sIE5VTEws IGxlbnMsIDEsIHZlY3R5cGUsIDAsIDApOw0KPiArICAgICAgICAgZXhwciA9 IGZvcmNlX2dpbXBsZV9vcGVyYW5kIChmb2xkX2NvbnZlcnQgKFRSRUVfVFlQ RSAoc3RlcF9leHByKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNoYXJlX2V4cHIgKGxlbikp LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm c2VxLCB0cnVlLCBOVUxMX1RSRUUpOw0KPiArICAgICAgIH0NCiANCkkgdGhp bmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIHNwbGl0IG91dCBidWlsZGluZyBh IHRyZWUgZnJvbSBWRiBmcm9tIGJvdGgNCmFybXMgYW5kIGF2b2lkIHVzaW5n ICd2Zicgd2hlbiBMT09QX1ZJTkZPX1VTSU5HX1NFTEVDVF9WTF9QLg0KIA0K QnR3LCB5b3UgYXJlIG5vdCBwYXRjaGluZyB0aGUgU0xQIHBhdGggaGVyZSB3 aGljaCBJIGJlbGlldmUgaGFzIHRoZSBzYW1lDQpwcm9ibGVtIGJ1dCBpcyBj dXJyZW50bHkgZXhlbXB0IGZyb20gbm9uLWNvbnN0YW50IFZGIGF0IGxlYXN0 Lg0KIA0KUmljaGFyZC4NCiANCj4gICAgICAgIC8qIGl2X2xvb3AgaXMgdGhl IGxvb3AgdG8gYmUgdmVjdG9yaXplZC4gR2VuZXJhdGU6DQo+ICAgICAgICAg ICB2ZWNfc3RlcCA9IFtWRipTLCBWRipTLCBWRipTLCBWRipTXSAgKi8NCj4g LSAgICAgIGdpbXBsZV9zZXEgc2VxID0gTlVMTDsNCj4gLSAgICAgIGlmIChT Q0FMQVJfRkxPQVRfVFlQRV9QIChUUkVFX1RZUEUgKHN0ZXBfZXhwcikpKQ0K PiArICAgICAgZWxzZSBpZiAoU0NBTEFSX0ZMT0FUX1RZUEVfUCAoVFJFRV9U WVBFIChzdGVwX2V4cHIpKSkNCj4gICAgICAgICB7DQo+ICAgICAgICAgICBl eHByID0gYnVpbGRfaW50X2NzdCAoaW50ZWdlcl90eXBlX25vZGUsIHZmKTsN Cj4gICAgICAgICAgIGV4cHIgPSBnaW1wbGVfYnVpbGQgKCZzZXEsIEZMT0FU X0VYUFIsIFRSRUVfVFlQRSAoc3RlcF9leHByKSwgZXhwcik7DQo+IEBAIC0x MDMyMyw4ICsxMDM0MywxMyBAQCB2ZWN0b3JpemFibGVfaW5kdWN0aW9uIChs b29wX3ZlY19pbmZvIGxvb3BfdmluZm8sDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBleHByLCBzdGVwX2V4cHIpOw0KPiAgICAgICAgaWYg KHNlcSkNCj4gICAgICAgICB7DQo+IC0gICAgICAgICBuZXdfYmIgPSBnc2lf aW5zZXJ0X3NlcV9vbl9lZGdlX2ltbWVkaWF0ZSAocGUsIHNlcSk7DQo+IC0g ICAgICAgICBnY2NfYXNzZXJ0ICghbmV3X2JiKTsNCj4gKyAgICAgICAgIGlm IChMT09QX1ZJTkZPX1VTSU5HX1NFTEVDVF9WTF9QIChsb29wX3ZpbmZvKSkN Cj4gKyAgICAgICAgICAgZ3NpX2luc2VydF9zZXFfYmVmb3JlICgmc2ksIHNl cSwgR1NJX1NBTUVfU1RNVCk7DQo+ICsgICAgICAgICBlbHNlDQo+ICsgICAg ICAgICAgIHsNCj4gKyAgICAgICAgICAgICBuZXdfYmIgPSBnc2lfaW5zZXJ0 X3NlcV9vbl9lZGdlX2ltbWVkaWF0ZSAocGUsIHNlcSk7DQo+ICsgICAgICAg ICAgICAgZ2NjX2Fzc2VydCAoIW5ld19iYik7DQo+ICsgICAgICAgICAgIH0N Cj4gICAgICAgICB9DQo+ICAgICAgfQ0KPg0KPiBAQCAtMTAzMzIsOSArMTAz NTcsOSBAQCB2ZWN0b3JpemFibGVfaW5kdWN0aW9uIChsb29wX3ZlY19pbmZv IGxvb3BfdmluZm8sDQo+ICAgIGdjY19hc3NlcnQgKENPTlNUQU5UX0NMQVNT X1AgKG5ld19uYW1lKQ0KPiAgICAgICAgICAgICAgIHx8IFRSRUVfQ09ERSAo bmV3X25hbWUpID09IFNTQV9OQU1FKTsNCj4gICAgbmV3X3ZlYyA9IGJ1aWxk X3ZlY3Rvcl9mcm9tX3ZhbCAoc3RlcF92ZWN0eXBlLCB0KTsNCj4gLSAgdmVj X3N0ZXAgPSB2ZWN0X2luaXRfdmVjdG9yIChsb29wX3ZpbmZvLCBzdG10X2lu Zm8sDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfdmVj LCBzdGVwX3ZlY3R5cGUsIE5VTEwpOw0KPiAtDQo+ICsgIHZlY19zdGVwDQo+ ICsgICAgPSB2ZWN0X2luaXRfdmVjdG9yIChsb29wX3ZpbmZvLCBzdG10X2lu Zm8sIG5ld192ZWMsIHN0ZXBfdmVjdHlwZSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgTE9PUF9WSU5GT19VU0lOR19TRUxFQ1RfVkxfUCAobG9vcF92 aW5mbykgPyAmc2kgOiBOVUxMKTsNCj4NCj4gICAgLyogQ3JlYXRlIHRoZSBm b2xsb3dpbmcgZGVmLXVzZSBjeWNsZToNCj4gICAgICAgbG9vcCBwcm9sb2c6 DQo+IC0tDQo+IDIuMzYuMw0KPg0KIA0K ------=_001_NextPart073836830681_=------