From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) by sourceware.org (Postfix) with ESMTPS id 881CA3858D38 for ; Fri, 19 May 2023 10:37:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 881CA3858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp89t1684492625tssr2w4y Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 19 May 2023 18:37:04 +0800 (CST) X-QQ-SSF: 01400000000000F0R000000A0000000 X-QQ-FEAT: ++I/KwXJyLiu8j+otwUQw+yoefNHMbXVC3VwojeGQEnVD7L+Dkrhb1MoZzCwY JyWO9X2kjAT1I2LkRBpc6Tsxq2WkjFIvfxlokMyVdo5DBA6REkt9OwZXtI9UNjDA0TO7xoC I5kO9ehy5V7muCl/r3uiSGHUZYD7WJjUcrYx3bZYmhB59q76rpHfhTwz1pFbCyF7A/KhplG fM3OPnAkLD9WukdjYk4FAdPq04sjAohrAi3zbhW6oRyyvMvA2KEr0V9Erx5UbEMFZZiJyf7 wcyOzogzM53VgN366H6CUMvXjBU/tSumN49wOgt/9fhzDjgNbri7HiNKESp2PEk5swyXr+t gVnPLW3saZWYoJBs1gOeqO1xBvcNcyUVYjraYstFYQvrOSU5tWcKt1TqXFtsQ91q1lbeLnX g28lDrG6D4c= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 15650975473756805984 Date: Fri, 19 May 2023 18:37:04 +0800 From: "juzhe.zhong@rivai.ai" To: richard.sandiford Cc: gcc-patches , rguenther Subject: Re: Re: [PATCH V11] VECT: Add decrement IV support in Loop Vectorizer References: <20230516102319.163752-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 52245924-9EFD-4953-8C6C-D0B5C71C4A4E X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <39BD0264F732B3DE+2023051918370378242996@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart405660510380_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_SORBS_WEB,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_NextPart405660510380_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 Pj4gSSBkb24ndCB0aGluayB0aGlzIGlzIGEgcHJvcGVydHkgb2YgZGVjcmVt ZW50aW5nIElWcy4gIElJVUMgaXQncyByZWFsbHkKPj4gYSBwcm9wZXJ0eSBv ZiByZ2wtPmZhY3RvciA9PSAxICYmIGZhY3RvciA9PSAxLCB3aGVyZSBmYWN0 b3Igd291bGQgbmVlZAo+PiB0byBiZSBwYXNzZWQgaW4gYnkgdGhlIGNhbGxl ci4gIEJlY2F1c2Ugb2YgdGhhdCwgaXQgc2hvdWxkIHByb2JhYmx5IGJlCj4+ IGEgc2VwYXJhdGUgcGF0Y2guDQpJcyBpdCByaWdodCB0aGF0IEkganVzdCBw b3N0IHRoaXMgcGFydCBjb2RlIGFzIGEgc2VwZXJhdGUgcGF0Y2ggdGhlbiBt ZXJnZSBpdD8NCg0KPj4gVGhhdCBpcywgY3VycmVudCBMT0FEX0xFTiB0YXJn ZXRzIGhhdmUgdHdvIHByb3BlcnRpZXMgKElJUkMpOgo+PiAoMSkgYWxsIHZl Y3RvcnMgdXNlZCBpbiBhIGdpdmVuIHBpZWNlIG9mIHZlY3RvciBjb2RlIGhh dmUgdGhlIHNhbWUgYnl0ZSBzaXplCj4+ICgyKSBsZW5ndGhzIGFyZSBtZWFz dXJlZCBpbiBieXRlcyByYXRoZXIgdGhhbiBlbGVtZW50cwo+PiBGb3IgYWxs IGNhc2VzLCBpbmNsdWRpbmcgU1ZFLCB0aGUgbnVtYmVyIG9mIGNvbnRyb2xz IG5lZWRlZCBmb3IgYSBzY2FsYXIKPj4gc3RhdGVtZW50IGlzIGVxdWFsIHRv IHRoZSBudW1iZXIgb2YgdmVjdG9ycyBuZWVkZWQgZm9yIHRoYXQgc2NhbGFy Cj4+IHN0YXRlbWVudC4KPj4gQmVjYXVzZSBvZiAoMSksIG9uIGN1cnJlbnQg TE9BRExfTEVOIHRhcmdldHMsIHRoZSBudW1iZXIgb2YgY29udHJvbHMKPj4g bmVlZGVkIGZvciBhIHNjYWxhciBzdGF0ZW1lbnQgaXMgYWxzbyBwcm9wb3J0 aW9uYWwgdG8gdGhlIHRvdGFsIG51bWJlcgo+PiBvZiBieXRlcyBvY2N1cGll ZCBieSB0aGUgdmVjdG9ycyBnZW5lcmF0ZWQgZm9yIHRoYXQgc2NhbGFyIHN0 YXRlbWVudC4KPj4gQW5kIGJlY2F1c2Ugb2YgKDIpLCB0aGUgdG90YWwgbnVt YmVyIG9mIGJ5dGVzIGlzIHRoZSBvbmx5IHRoaW5nIHRoYXQKPj4gbWF0dGVy cywgc28gYWxsIHVzZXJzIG9mIGEgcGFydGljdWxhciBjb250cm9sIGNhbiB1 c2UgdGhlIHNhbWUgY29udHJvbAo+PiB2YWx1ZS4KPj4gRS5nLiBvbiBjdXJy ZW50IExPQURfTEVOIHRhcmdldHMsIDJ4VjE2UUkgYW5kIDJ4VjhISSB3b3Vs ZCB1c2UgdGhlIHNhbWUKPj4gY29udHJvbCAod2l0aCBubyBhZGp1c3RtZW50 KS4gIDJ4VjE2UUkgbWVhbnMgMzIgZWxlbWVudHMsIHdoaWxlIDJ4VjhISQo+ PiBtZWFucyAxNiBlbGVtZW50cy4gIFYxNlFJJ3MgbnNjYWxhcnNfcGVyX2l0 ZXIgd291bGQgdGhlcmVmb3JlIGJlIGRvdWJsZQo+PiBWOEhJJ3MsIGJ1dCBW OEhJJ3MgZmFjdG9yIHdvdWxkIGJlIGRvdWJsZSBWMTZRSSdzICgyIHZzIDEp LCBzbyB0aGluZ3MKPj4gZXZlbiBvdXQuCj4+IFRoZSBjb2RlIHN0cnVjdHVy YWxseSBzdXBwb3J0cyB0YXJnZXRzIHRoYXQgY291bnQgaW4gZWxlbWVudHMg cmF0aGVyCj4+IHRoYW4gYnl0ZXMsIHNvIHRoYXQgZmFjdG9yPT0xIGZvciBh bGwgZWxlbWVudCB0eXBlcy4gIFNlZSB0aGUKPj4gInJnbC0+ZmFjdG9yID09 IDEgJiYgZmFjdG9yID09IDEiIGNhc2UgaW46CiA+PiAgaWYgKHJnbC0+bWF4 X25zY2FsYXJzX3Blcl9pdGVyIDwgbnNjYWxhcnNfcGVyX2l0ZXIpICA+PiAg IHsgID4+ICAgICAvKiBGb3Igbm93LCB3ZSBvbmx5IHN1cHBvcnQgY2FzZXMg aW4gd2hpY2ggYWxsIGxvYWRzIGFuZCBzdG9yZXMgZmFsbCBiYWNrCSB0byBW blFJIG9yIG5vbmUgZG8uICAqLwogICA+PiAgICBnY2NfYXNzZXJ0ICghcmds LT5tYXhfbnNjYWxhcnNfcGVyX2l0ZXI+PiAJCSAgfHwgKHJnbC0+ZmFjdG9y ID09IDEgJiYgZmFjdG9yID09IDEpCgkJICB8fCAocmdsLT5tYXhfbnNjYWxh cnNfcGVyX2l0ZXIgKiByZ2wtPmZhY3Rvcgo+PiAJCSAgICAgID09IG5zY2Fs YXJzX3Blcl9pdGVyICogZmFjdG9yKSk7CiA+PiAgICAgIHJnbC0+bWF4X25z Y2FsYXJzX3Blcl9pdGVyID0gbnNjYWxhcnNfcGVyX2l0ZXI7ID4+ICAgICAg cmdsLT50eXBlID0gdmVjdHlwZTsgPj4gICAgICByZ2wtPmZhY3RvciA9IGZh Y3RvcjsgID4+ICAgfT4+IEJ1dCBpdCBoYXNuJ3QgYmVlbiB0ZXN0ZWQsIHNp bmNlIG5vIGN1cnJlbnQgdGFyZ2V0IHVzZXMgaXQuCj4+IEkgdGhpbmsgdGhl IGFib3ZlIHBhcnQgb2YgdGhlIHBhdGNoIHNob3dzIHRoYXQgdGhlIGN1cnJl bnQgImZhY3RvciBpcwo+PiBhbHdheXMgMSIgcGF0aCBpcyBpbiBmYWN0IGJy b2tlbiwgYW5kIHRoZSBwYXRjaCBpcyBhIGNvcnJlY3RuZXNzIGZpeCBvbgo+ PiB0YXJnZXRzIHRoYXQgbWVhc3VyZSBpbiBlbGVtZW50cyByYXRoZXIgdGhh biBieXRlcy4KPj4gU28gSSB0aGluayB0aGUgYWJvdmUgcGFydCBvZiB0aGUg cGF0Y2ggc2hvdWxkIGdvIGluIGFoZWFkIG9mIHRoZSBJViBjaGFuZ2VzLgo+ PiBCdXQgdGhlIHRlc3Qgc2hvdWxkIGJlIGJhc2VkIG9uIGZhY3RvciByYXRo ZXIgdGhhbiBUWVBFX1ZFQ1RPUl9TVUJQQVJUUy5TaW5jZSB0aGUgbGVuZ3Ro IGNvbnRyb2wgbWVhc3VyZWQgYnkgYnl0ZXMgaW5zdGVhZCBvZiBieXRlcyBp cyBub3QgYXBwcm9wcmlhdGUgZm9yIFJWVi5Zb3UgbWVhbiBJIGNhbid0IHN1 cHBvcnQgUlZWIGF1dG8tdmVjdG9yaXphdGlvbiBpbiB1cHN0cmVhbSBHQ0Mg bWlkZGxlLWVuZCBhbmQgSSBjYW4gb25seSBzdXBwb3J0IGl0IGluIG15IGRv d25zdHJlYW0sIGlzIHRoYXQgcmlnaHQ/IA0KDQoNCmp1emhlLnpob25nQHJp dmFpLmFpDQogDQpGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZA0KRGF0ZTogMjAy My0wNS0xOSAxODoyMw0KVG86IGp1emhlLnpob25nDQpDQzogZ2NjLXBhdGNo ZXM7IHJndWVudGhlcg0KU3ViamVjdDogUmU6IFtQQVRDSCBWMTFdIFZFQ1Q6 IEFkZCBkZWNyZW1lbnQgSVYgc3VwcG9ydCBpbiBMb29wIFZlY3Rvcml6ZXIN ClRoYW5rcyBmb3IgdGhlIHVwZGF0ZS4gIEknbGwgc3BsaXQgdGhpcyByZXZp ZXcgaW50byB0d28gcGllY2VzLg0KU2Vjb25kIHBpZWNlIHRvIGZvbGxvdyAo bm90IHN1cmUgd2hlbiwgYnV0IGhvcGVmdWxseSBzb29uKS4NCiANCmp1emhl Lnpob25nQHJpdmFpLmFpIHdyaXRlczoNCj4gZGlmZiAtLWdpdCBhL2djYy90 cmVlLXZlY3QtbG9vcC5jYyBiL2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiBp bmRleCBlZDAxNjZmZWRhYi4uNmY0OWJkZWUwMDkgMTAwNjQ0DQo+IC0tLSBh L2djYy90cmVlLXZlY3QtbG9vcC5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0 LWxvb3AuY2MNCj4gQEAgLTEwMzY0LDEyICsxMDM3NSwxNCBAQCB2ZWN0X3Jl Y29yZF9sb29wX2xlbiAobG9vcF92ZWNfaW5mbyBsb29wX3ZpbmZvLCB2ZWNf bG9vcF9sZW5zICpsZW5zLA0KPiAgICAgcmdyb3VwIHRoYXQgb3BlcmF0ZXMg b24gTlZFQ1RPUlMgdmVjdG9ycywgd2hlcmUgMCA8PSBJTkRFWCA8IE5WRUNU T1JTLiAgKi8NCj4gIA0KPiAgdHJlZQ0KPiAtdmVjdF9nZXRfbG9vcF9sZW4g KGxvb3BfdmVjX2luZm8gbG9vcF92aW5mbywgdmVjX2xvb3BfbGVucyAqbGVu cywNCj4gLSAgICB1bnNpZ25lZCBpbnQgbnZlY3RvcnMsIHVuc2lnbmVkIGlu dCBpbmRleCkNCj4gK3ZlY3RfZ2V0X2xvb3BfbGVuIChsb29wX3ZlY19pbmZv IGxvb3BfdmluZm8sIGdpbXBsZV9zdG10X2l0ZXJhdG9yICpnc2ksDQo+ICsg ICAgdmVjX2xvb3BfbGVucyAqbGVucywgdW5zaWduZWQgaW50IG52ZWN0b3Jz LCB0cmVlIHZlY3R5cGUsDQo+ICsgICAgdW5zaWduZWQgaW50IGluZGV4KQ0K PiAgew0KPiAgICByZ3JvdXBfY29udHJvbHMgKnJnbCA9ICYoKmxlbnMpW252 ZWN0b3JzIC0gMV07DQo+ICAgIGJvb2wgdXNlX2JpYXNfYWRqdXN0ZWRfbGVu ID0NCj4gICAgICBMT09QX1ZJTkZPX1BBUlRJQUxfTE9BRF9TVE9SRV9CSUFT IChsb29wX3ZpbmZvKSAhPSAwOw0KPiArICB0cmVlIGl2X3R5cGUgPSBMT09Q X1ZJTkZPX1JHUk9VUF9JVl9UWVBFIChsb29wX3ZpbmZvKTsNCj4gIA0KPiAg ICAvKiBQb3B1bGF0ZSB0aGUgcmdyb3VwJ3MgbGVuIGFycmF5LCBpZiB0aGlz IGlzIHRoZSBmaXJzdCB0aW1lIHdlJ3ZlDQo+ICAgICAgIHVzZWQgaXQuICAq Lw0KPiBAQCAtMTA0MDAsNiArMTA0MTMsMjYgQEAgdmVjdF9nZXRfbG9vcF9s ZW4gKGxvb3BfdmVjX2luZm8gbG9vcF92aW5mbywgdmVjX2xvb3BfbGVucyAq bGVucywNCj4gIA0KPiAgICBpZiAodXNlX2JpYXNfYWRqdXN0ZWRfbGVuKQ0K PiAgICAgIHJldHVybiByZ2wtPmJpYXNfYWRqdXN0ZWRfY3RybDsNCj4gKyAg ZWxzZSBpZiAoTE9PUF9WSU5GT19VU0lOR19ERUNSRU1FTlRJTkdfSVZfUCAo bG9vcF92aW5mbykpDQo+ICsgICAgew0KPiArICAgICAgdHJlZSBsb29wX2xl biA9IHJnbC0+Y29udHJvbHNbaW5kZXhdOw0KPiArICAgICAgcG9seV9pbnQ2 NCBudW5pdHMxID0gVFlQRV9WRUNUT1JfU1VCUEFSVFMgKHJnbC0+dHlwZSk7 DQo+ICsgICAgICBwb2x5X2ludDY0IG51bml0czIgPSBUWVBFX1ZFQ1RPUl9T VUJQQVJUUyAodmVjdHlwZSk7DQo+ICsgICAgICBpZiAobWF5YmVfbmUgKG51 bml0czEsIG51bml0czIpKQ0KPiArIHsNCj4gKyAgIC8qIEEgbG9vcCBsZW4g Zm9yIGRhdGEgdHlwZSBYIGNhbiBiZSByZXVzZWQgZm9yIGRhdGEgdHlwZSBZ DQo+ICsgICAgICBpZiBYIGhhcyBOIHRpbWVzIG1vcmUgZWxlbWVudHMgdGhh biBZIGFuZCBpZiBZJ3MgZWxlbWVudHMNCj4gKyAgICAgIGFyZSBOIHRpbWVz IGJpZ2dlciB0aGFuIFgncy4gICovDQo+ICsgICBnY2NfYXNzZXJ0IChtdWx0 aXBsZV9wIChudW5pdHMxLCBudW5pdHMyKSk7DQo+ICsgICB1bnNpZ25lZCBp bnQgZmFjdG9yID0gZXhhY3RfZGl2IChudW5pdHMxLCBudW5pdHMyKS50b19j b25zdGFudCAoKTsNCj4gKyAgIGdpbXBsZV9zZXEgc2VxID0gTlVMTDsNCj4g KyAgIGxvb3BfbGVuID0gZ2ltcGxlX2J1aWxkICgmc2VxLCBSRElWX0VYUFIs IGl2X3R5cGUsIGxvb3BfbGVuLA0KPiArICAgIGJ1aWxkX2ludF9jc3QgKGl2 X3R5cGUsIGZhY3RvcikpOw0KPiArICAgaWYgKHNlcSkNCj4gKyAgICAgZ3Np X2luc2VydF9zZXFfYmVmb3JlIChnc2ksIHNlcSwgR1NJX1NBTUVfU1RNVCk7 DQo+ICsgfQ0KPiArICAgICAgcmV0dXJuIGxvb3BfbGVuOw0KPiArICAgIH0N CiANCkkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBhIHByb3BlcnR5IG9mIGRlY3Jl bWVudGluZyBJVnMuICBJSVVDIGl0J3MgcmVhbGx5DQphIHByb3BlcnR5IG9m IHJnbC0+ZmFjdG9yID09IDEgJiYgZmFjdG9yID09IDEsIHdoZXJlIGZhY3Rv ciB3b3VsZCBuZWVkDQp0byBiZSBwYXNzZWQgaW4gYnkgdGhlIGNhbGxlci4g IEJlY2F1c2Ugb2YgdGhhdCwgaXQgc2hvdWxkIHByb2JhYmx5IGJlDQphIHNl cGFyYXRlIHBhdGNoLg0KIA0KVGhhdCBpcywgY3VycmVudCBMT0FEX0xFTiB0 YXJnZXRzIGhhdmUgdHdvIHByb3BlcnRpZXMgKElJUkMpOg0KIA0KKDEpIGFs bCB2ZWN0b3JzIHVzZWQgaW4gYSBnaXZlbiBwaWVjZSBvZiB2ZWN0b3IgY29k ZSBoYXZlIHRoZSBzYW1lIGJ5dGUgc2l6ZQ0KKDIpIGxlbmd0aHMgYXJlIG1l YXN1cmVkIGluIGJ5dGVzIHJhdGhlciB0aGFuIGVsZW1lbnRzDQogDQpGb3Ig YWxsIGNhc2VzLCBpbmNsdWRpbmcgU1ZFLCB0aGUgbnVtYmVyIG9mIGNvbnRy b2xzIG5lZWRlZCBmb3IgYSBzY2FsYXINCnN0YXRlbWVudCBpcyBlcXVhbCB0 byB0aGUgbnVtYmVyIG9mIHZlY3RvcnMgbmVlZGVkIGZvciB0aGF0IHNjYWxh cg0Kc3RhdGVtZW50Lg0KIA0KQmVjYXVzZSBvZiAoMSksIG9uIGN1cnJlbnQg TE9BRExfTEVOIHRhcmdldHMsIHRoZSBudW1iZXIgb2YgY29udHJvbHMNCm5l ZWRlZCBmb3IgYSBzY2FsYXIgc3RhdGVtZW50IGlzIGFsc28gcHJvcG9ydGlv bmFsIHRvIHRoZSB0b3RhbCBudW1iZXINCm9mIGJ5dGVzIG9jY3VwaWVkIGJ5 IHRoZSB2ZWN0b3JzIGdlbmVyYXRlZCBmb3IgdGhhdCBzY2FsYXIgc3RhdGVt ZW50Lg0KQW5kIGJlY2F1c2Ugb2YgKDIpLCB0aGUgdG90YWwgbnVtYmVyIG9m IGJ5dGVzIGlzIHRoZSBvbmx5IHRoaW5nIHRoYXQNCm1hdHRlcnMsIHNvIGFs bCB1c2VycyBvZiBhIHBhcnRpY3VsYXIgY29udHJvbCBjYW4gdXNlIHRoZSBz YW1lIGNvbnRyb2wNCnZhbHVlLg0KIA0KRS5nLiBvbiBjdXJyZW50IExPQURf TEVOIHRhcmdldHMsIDJ4VjE2UUkgYW5kIDJ4VjhISSB3b3VsZCB1c2UgdGhl IHNhbWUNCmNvbnRyb2wgKHdpdGggbm8gYWRqdXN0bWVudCkuICAyeFYxNlFJ IG1lYW5zIDMyIGVsZW1lbnRzLCB3aGlsZSAyeFY4SEkNCm1lYW5zIDE2IGVs ZW1lbnRzLiAgVjE2UUkncyBuc2NhbGFyc19wZXJfaXRlciB3b3VsZCB0aGVy ZWZvcmUgYmUgZG91YmxlDQpWOEhJJ3MsIGJ1dCBWOEhJJ3MgZmFjdG9yIHdv dWxkIGJlIGRvdWJsZSBWMTZRSSdzICgyIHZzIDEpLCBzbyB0aGluZ3MNCmV2 ZW4gb3V0Lg0KIA0KVGhlIGNvZGUgc3RydWN0dXJhbGx5IHN1cHBvcnRzIHRh cmdldHMgdGhhdCBjb3VudCBpbiBlbGVtZW50cyByYXRoZXINCnRoYW4gYnl0 ZXMsIHNvIHRoYXQgZmFjdG9yPT0xIGZvciBhbGwgZWxlbWVudCB0eXBlcy4g IFNlZSB0aGUNCiJyZ2wtPmZhY3RvciA9PSAxICYmIGZhY3RvciA9PSAxIiBj YXNlIGluOg0KIA0KICBpZiAocmdsLT5tYXhfbnNjYWxhcnNfcGVyX2l0ZXIg PCBuc2NhbGFyc19wZXJfaXRlcikNCiAgICB7DQogICAgICAvKiBGb3Igbm93 LCB3ZSBvbmx5IHN1cHBvcnQgY2FzZXMgaW4gd2hpY2ggYWxsIGxvYWRzIGFu ZCBzdG9yZXMgZmFsbCBiYWNrDQp0byBWblFJIG9yIG5vbmUgZG8uICAqLw0K ICAgICAgZ2NjX2Fzc2VydCAoIXJnbC0+bWF4X25zY2FsYXJzX3Blcl9pdGVy DQogIHx8IChyZ2wtPmZhY3RvciA9PSAxICYmIGZhY3RvciA9PSAxKQ0KICB8 fCAocmdsLT5tYXhfbnNjYWxhcnNfcGVyX2l0ZXIgKiByZ2wtPmZhY3Rvcg0K ICAgICAgPT0gbnNjYWxhcnNfcGVyX2l0ZXIgKiBmYWN0b3IpKTsNCiAgICAg IHJnbC0+bWF4X25zY2FsYXJzX3Blcl9pdGVyID0gbnNjYWxhcnNfcGVyX2l0 ZXI7DQogICAgICByZ2wtPnR5cGUgPSB2ZWN0eXBlOw0KICAgICAgcmdsLT5m YWN0b3IgPSBmYWN0b3I7DQogICAgfQ0KIA0KQnV0IGl0IGhhc24ndCBiZWVu IHRlc3RlZCwgc2luY2Ugbm8gY3VycmVudCB0YXJnZXQgdXNlcyBpdC4NCiAN CkkgdGhpbmsgdGhlIGFib3ZlIHBhcnQgb2YgdGhlIHBhdGNoIHNob3dzIHRo YXQgdGhlIGN1cnJlbnQgImZhY3RvciBpcw0KYWx3YXlzIDEiIHBhdGggaXMg aW4gZmFjdCBicm9rZW4sIGFuZCB0aGUgcGF0Y2ggaXMgYSBjb3JyZWN0bmVz cyBmaXggb24NCnRhcmdldHMgdGhhdCBtZWFzdXJlIGluIGVsZW1lbnRzIHJh dGhlciB0aGFuIGJ5dGVzLg0KIA0KU28gSSB0aGluayB0aGUgYWJvdmUgcGFy dCBvZiB0aGUgcGF0Y2ggc2hvdWxkIGdvIGluIGFoZWFkIG9mIHRoZSBJViBj aGFuZ2VzLg0KQnV0IHRoZSB0ZXN0IHNob3VsZCBiZSBiYXNlZCBvbiBmYWN0 b3IgcmF0aGVyIHRoYW4gVFlQRV9WRUNUT1JfU1VCUEFSVFMuDQogDQpUaGFu a3MsDQpSaWNoYXJkDQogDQo= ------=_001_NextPart405660510380_=------