From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg156.qq.com (smtpbg156.qq.com [15.184.82.18]) by sourceware.org (Postfix) with ESMTPS id E90FB3858D32 for ; Mon, 8 May 2023 01:35:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E90FB3858D32 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: bizesmtp66t1683509695thnrh3ap Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 08 May 2023 09:34:54 +0800 (CST) X-QQ-SSF: 01400000000000F0Q000000A0000000 X-QQ-FEAT: Q5/H4pNog200oPsPYUtmb40Cvgg5QhpE1H+v2IKXLN4phex/N4ihlXxopkkLX dy4DG9/cOdu4jlxBGYDphk0pWFp5xj4oEC7TX65keWys3tYMUOhRvjs+JmPYgGhzLcYeGvG tS41YFwT1LxYVokqn94CFu9OGXpflO06boDv5TPNfio9hTvWoW/QUNLLacNxwkobDqcOPGb GSaB7AFtrqE21FfiywlVFmPzBqc99irN1xKH0o9Oi0KJ5L8Q0N4nM6+0VdaWKCQKy3r86x/ Z34UdjqJZiBmWSzSMG2WhzNouBnsEbhKbtTD8dmJgcLDKxlB5SS/sPq04ZXnBmusRRZseKy Vpgm+Z9u/kO9/Im+FbfzvLDJ/6OCSyhG/qEi1fBkmW6mmKVW5AabfNkN/XJTkr6qyKQQsq0 MGmc6El+9R2O3F3x/Y7BAg== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 10376317801363052062 Date: Mon, 8 May 2023 09:34:54 +0800 From: "juzhe.zhong@rivai.ai" To: =?GB2312?B?1tO+09Xc?= , gcc-patches Cc: kito.cheng Subject: Re: [PATCH] RISC-V: Optimize vsetvli of LCM INSERTED edge for user vsetvli [PR 109743] References: <20230506111449.2128575-1-juzhe.zhong@rivai.ai> X-Priority: 3 X-GUID: A9FBE7B8-4C61-435A-B127-A400F4699E69 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart877433685543_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,LIKELY_SPAM_BODY,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_WEB,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,SPF_PASS,TXREP,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_NextPart877433685543_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 R2VudGxlIHBpbmcgdGhpcyBwYXRjaC4NCg0KSXMgdGhpcyBPayBmb3IgdHJ1 bms/IFRoYW5rcy4NCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJv bToganV6aGUuemhvbmcNCkRhdGU6IDIwMjMtMDUtMDYgMTk6MTQNClRvOiBn Y2MtcGF0Y2hlcw0KQ0M6IGtpdG8uY2hlbmc7IEp1emhlLVpob25nDQpTdWJq ZWN0OiBbUEFUQ0hdIFJJU0MtVjogT3B0aW1pemUgdnNldHZsaSBvZiBMQ00g SU5TRVJURUQgZWRnZSBmb3IgdXNlciB2c2V0dmxpIFtQUiAxMDk3NDNdDQpG cm9tOiBKdXpoZS1aaG9uZyA8anV6aGUuemhvbmdAcml2YWkuYWk+DQogDQpU aGlzIHBhdGNoIGlzIGZpeGluZzogaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6 aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA5NzQzLg0KIA0KVGhpcyBpc3N1ZSBo YXBwZW5zIGlzIGJlY2F1c2Ugd2UgYXJlIGN1cnJlbnRseSB2ZXJ5IGNvbnNl cnZhdGl2ZSBpbiBvcHRpbWl6YXRpb24gb2YgdXNlciB2c2V0dmxpLg0KIA0K Q29uc2lkZXIgdGhpcyBmb2xsb3dpbmcgY2FzZToNCiANCmJiIDE6DQogIHZz ZXR2bGkgYTUsYTQuLi4gKGRlbWFuZCBBVkwgPSBhNCkuDQpiYiAyOg0KICBS VlYgaW5zbiB1c2UgYTUgKGRlbWFuZCBBVkwgPSBhNSkuDQogDQpMQ00gd2ls bCBob2lzdCB2c2V0dmwgb2YgYmIgMiBpbnRvIGJiIDEuDQpXZSBkb24ndCBk byBBVkwgcHJvcGFnYXRpb24gZm9yIHRoaXMgc2l0dWF0aW9uIHNpbmNlIGl0 J3MgY29tcGxpY2F0ZWQgdGhhdA0Kd2Ugc2hvdWxkIGFuYWx5emUgdGhlIGNv ZGUgc2VxdWVuY2UgYmV0d2VlbiB2c2V0dmxpIGluIGJiIDEgYW5kIFJWViBp bnNuIGluIGJiIDIuDQpUaGV5IGFyZSBub3QgbmVjZXNzYXJ5IHRoZSBjb25z ZWN1dGl2ZSBibG9ja3MuDQogDQpUaGlzIHBhdGNoIGlzIGRvaW5nIHRoZSBv cHRpbWl6YXRpb25zIGFmdGVyIExDTSwgd2Ugd2lsbCBjaGVjayBhbmQgZWxp bWluYXRlIHRoZSB2c2V0dmxpDQppbiBMQ00gaW5zZXJ0ZWQgZWRnZSBpZiBz dWNoIHZzZXR2bGkgaXMgcmVkdW5kYW50LiBTdWNoIGFwcHJvYWNoIGlzIG11 Y2ggc2ltcGxpZXIgYW5kIHNhZmUuDQogDQpjb2RlOg0Kdm9pZA0KZm9vMiAo aW50MzJfdCAqYSwgaW50MzJfdCAqYiwgaW50IG4pDQp7DQogIGlmIChuIDw9 IDApDQogICAgICByZXR1cm47DQogIGludCBpID0gbjsNCiAgc2l6ZV90IHZs ID0gX19yaXNjdl92c2V0dmxfZTMybTEgKGkpOw0KIA0KICBmb3IgKDsgaSA+ PSAwOyBpLS0pDQogIHsNCiAgICB2aW50MzJtMV90IHYgPSBfX3Jpc2N2X3Zs ZTMyX3ZfaTMybTEgKGEsIHZsKTsNCiAgICBfX3Jpc2N2X3ZzZTMyX3ZfaTMy bTEgKGIsIHYsIHZsKTsNCiANCiAgICBpZiAoaSA+PSB2bCkNCiAgICAgIGNv bnRpbnVlOw0KIA0KICAgIGlmIChpID09IDApDQogICAgICByZXR1cm47DQog DQogICAgdmwgPSBfX3Jpc2N2X3ZzZXR2bF9lMzJtMSAoaSk7DQogIH0NCn0N CiANCkJlZm9yZSB0aGlzIHBhdGNoOg0KZm9vMjoNCi5MRkIyOg0KICAgICAg ICAuY2ZpX3N0YXJ0cHJvYw0KICAgICAgICBibGUgICAgIGEyLHplcm8sLkwx DQogICAgICAgIG12ICAgICAgYTQsYTINCiAgICAgICAgbGkgICAgICBhMywt MQ0KICAgICAgICB2c2V0dmxpIGE1LGEyLGUzMixtMSx0YSxtdQ0KICAgICAg ICB2c2V0dmxpIHplcm8sYTUsZTMyLG0xLHRhLG1hICA8LSBjYW4gYmUgZWxp bWluYXRlZC4NCi5MNToNCiAgICAgICAgdmxlMzIudiB2MSwwKGEwKQ0KICAg ICAgICB2c2UzMi52IHYxLDAoYTEpDQogICAgICAgIGJnZXUgICAgYTQsYTUs LkwzDQouTDEwOg0KICAgICAgICBiZXEgICAgIGEyLHplcm8sLkwxDQogICAg ICAgIHZzZXR2bGkgYTUsYTQsZTMyLG0xLHRhLG11DQogICAgICAgIGFkZGkg ICAgYTQsYTQsLTENCiAgICAgICAgdnNldHZsaSB6ZXJvLGE1LGUzMixtMSx0 YSxtYSAgPC0gY2FuIGJlIGVsaW1pbmF0ZWQuDQogICAgICAgIHZsZTMyLnYg djEsMChhMCkNCiAgICAgICAgdnNlMzIudiB2MSwwKGExKQ0KICAgICAgICBh ZGRpdyAgIGEyLGEyLC0xDQogICAgICAgIGJsdHUgICAgYTQsYTUsLkwxMA0K LkwzOg0KICAgICAgICBhZGRpdyAgIGEyLGEyLC0xDQogICAgICAgIGFkZGkg ICAgYTQsYTQsLTENCiAgICAgICAgYm5lICAgICBhMixhMywuTDUNCi5MMToN CiAgICAgICAgcmV0DQogDQpBZnRlciB0aGlzIHBhdGNoOg0KZjoNCiAgICAg ICAgYmxlICAgICBhMix6ZXJvLC5MMQ0KICAgICAgICBtdiAgICAgIGE0LGEy DQogICAgICAgIGxpICAgICAgYTMsLTENCiAgICAgICAgdnNldHZsaSBhNSxh MixlMzIsbTEsdGEsbWENCi5MNToNCiAgICAgICAgdmxlMzIudiB2MSwwKGEw KQ0KICAgICAgICB2c2UzMi52IHYxLDAoYTEpDQogICAgICAgIGJnZXUgICAg YTQsYTUsLkwzDQouTDEwOg0KICAgICAgICBiZXEgICAgIGEyLHplcm8sLkwx DQogICAgICAgIHZzZXR2bGkgYTUsYTQsZTMyLG0xLHRhLG1hDQogICAgICAg IGFkZGkgICAgYTQsYTQsLTENCiAgICAgICAgdmxlMzIudiB2MSwwKGEwKQ0K ICAgICAgICB2c2UzMi52IHYxLDAoYTEpDQogICAgICAgIGFkZGl3ICAgYTIs YTIsLTENCiAgICAgICAgYmx0dSAgICBhNCxhNSwuTDEwDQouTDM6DQogICAg ICAgIGFkZGl3ICAgYTIsYTIsLTENCiAgICAgICAgYWRkaSAgICBhNCxhNCwt MQ0KICAgICAgICBibmUgICAgIGEyLGEzLC5MNQ0KLkwxOg0KICAgICAgICBy ZXQNCiANCiAgICAgICAgUFIgdGFyZ2V0LzEwOTc0Mw0KIA0KZ2NjL0NoYW5n ZUxvZzoNCiANCiAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YtdnNldHZs LmNjIChwYXNzX3ZzZXR2bDo6Y29tbWl0X3ZzZXR2bHMpOiBBZGQgb3B0aW1p emF0aW9uIGZvciBMQ00gaW5zZXJ0ZWQgZWRnZS4NCiANCmdjYy90ZXN0c3Vp dGUvQ2hhbmdlTG9nOg0KIA0KICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L3ZzZXR2bC9wcjEwOTc0My0xLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAq IGdjYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0My0yLmM6IE5l dyB0ZXN0Lg0KICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2 bC9wcjEwOTc0My0zLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAqIGdjYy50YXJn ZXQvcmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0My00LmM6IE5ldyB0ZXN0Lg0K IA0KLS0tDQpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZzZXR2bC5jYyAgICAg ICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKysrDQouLi4vZ2NjLnRh cmdldC9yaXNjdi9ydnYvdnNldHZsL3ByMTA5NzQzLTEuYyAgfCAyNiArKysr KysrKysrKysNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di92c2V0dmwvcHIx MDk3NDMtMi5jICB8IDI3ICsrKysrKysrKysrKw0KLi4uL2djYy50YXJnZXQv cmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0My0zLmMgIHwgMjggKysrKysrKysr KysrKw0KLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0 My00LmMgIHwgMjggKysrKysrKysrKysrKw0KNSBmaWxlcyBjaGFuZ2VkLCAx NTEgaW5zZXJ0aW9ucygrKQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNldHZsL3ByMTA5NzQzLTEu Yw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvdnNldHZsL3ByMTA5NzQzLTIuYw0KY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNl dHZsL3ByMTA5NzQzLTMuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNldHZsL3ByMTA5NzQzLTQu Yw0KIA0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdnNl dHZsLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12c2V0dmwuY2MNCmlu ZGV4IGY1NTkwN2E0MTBlLi5mY2VlN2ZkZjMyMyAxMDA2NDQNCi0tLSBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtdnNldHZsLmNjDQorKysgYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXZzZXR2bC5jYw0KQEAgLTM4MzQsNiArMzgzNCw0 OCBAQCBwYXNzX3ZzZXR2bDo6Y29tbWl0X3ZzZXR2bHMgKHZvaWQpDQogICAg ICBjb25zdCB2ZWN0b3JfaW5zbl9pbmZvICpyZXF1aXJlDQo9IG1fdmVjdG9y X21hbmFnZXItPnZlY3Rvcl9leHByc1tpXTsNCiAgICAgIGdjY19hc3NlcnQg KHJlcXVpcmUtPnZhbGlkX29yX2RpcnR5X3AgKCkpOw0KKw0KKyAgICAgICAv KiBIZXJlIHdlIG9wdGltaXplIHRoZSBWU0VUVkwgaXMgaG9pc3RlZCBieSBM Q006DQorDQorIEJlZm9yZSBMQ006DQorICAgIGJiIDE6DQorICAgICAgdnNl dHZsaSBhNSxhMixlMzIsbTEsdGEsbXUNCisgICAgYmIgMjoNCisgICAgICB2 c2V0dmxpIHplcm8sYTUsZTMyLG0xLHRhLG11DQorICAgICAgLi4uDQorDQor IEFmdGVyIExDTToNCisgICAgYmIgMToNCisgICAgICB2c2V0dmxpIGE1LGEy LGUzMixtMSx0YSxtdQ0KKyAgICAgIExDTSBJTlNFUlRFRDogdnNldHZsaSB6 ZXJvLGE1LGUzMixtMSx0YSxtdSAtLT4gZWxpbWluYXRlDQorICAgIGJiIDI6 DQorICAgICAgLi4uDQorICAgICAgICAqLw0KKyAgICAgICBjb25zdCBiYXNp Y19ibG9jayBwcmVkX2NmZ19iYiA9IGVnLT5zcmM7DQorICAgICAgIGNvbnN0 IGF1dG8gYmxvY2tfaW5mbw0KKyA9IG1fdmVjdG9yX21hbmFnZXItPnZlY3Rv cl9ibG9ja19pbmZvc1twcmVkX2NmZ19iYi0+aW5kZXhdOw0KKyAgICAgICBj b25zdCBpbnNuX2luZm8gKnByZWRfaW5zbiA9IGJsb2NrX2luZm8ucmVhY2hp bmdfb3V0LmdldF9pbnNuICgpOw0KKyAgICAgICBpZiAocHJlZF9pbnNuICYm IHZzZXR2bF9pbnNuX3AgKHByZWRfaW5zbi0+cnRsICgpKQ0KKyAgICYmIHJl cXVpcmUtPmdldF9hdmxfc291cmNlICgpDQorICAgJiYgcmVxdWlyZS0+Z2V0 X2F2bF9zb3VyY2UgKCktPmluc24gKCkNCisgICAmJiByZXF1aXJlLT5za2lw X2F2bF9jb21wYXRpYmxlX3AgKGJsb2NrX2luZm8ucmVhY2hpbmdfb3V0KSkN Cisgew0KKyAgIHZlY3Rvcl9pbnNuX2luZm8gbmV3X2luZm8gPSAqcmVxdWly ZTsNCisgICBuZXdfaW5mby5zZXRfYXZsX2luZm8gKA0KKyAgICAgYmxvY2tf aW5mby5yZWFjaGluZ19vdXQuZ2V0X2F2bF9pbmZvICgpKTsNCisgICBuZXdf aW5mbw0KKyAgICAgPSBibG9ja19pbmZvLnJlYWNoaW5nX291dC5tZXJnZSAo bmV3X2luZm8sIExPQ0FMX01FUkdFKTsNCisgICBjaGFuZ2VfdnNldHZsX2lu c24gKHByZWRfaW5zbiwgbmV3X2luZm8pOw0KKyAgIGJpdG1hcF9jbGVhcl9i aXQgKG1fdmVjdG9yX21hbmFnZXItPnZlY3Rvcl9pbnNlcnRbZWRdLCBpKTsN CisgICBpZiAoZHVtcF9maWxlKQ0KKyAgICAgZnByaW50ZiAoDQorICAgICAg IGR1bXBfZmlsZSwNCisgICAgICAgIlxuTENNIElOU0VSVEVEIGVkZ2UgJWQg ZnJvbSBiYiAlZCB0byBiYiAlZCBmb3IgVlNFVFZMICINCisgICAgICAgImV4 cHJbJWxkXSBpcyByZW1vdmVkXG4iLA0KKyAgICAgICBlZCwgZWctPnNyYy0+ aW5kZXgsIGVnLT5kZXN0LT5pbmRleCwgaSk7DQorICAgY29udGludWU7DQor IH0NCisNCiAgICAgIHJ0bF9wcm9maWxlX2Zvcl9lZGdlIChlZyk7DQogICAg ICBzdGFydF9zZXF1ZW5jZSAoKTsNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0My0xLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9w cjEwOTc0My0xLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwMDAwMC4uZjMwMjc1YzgyODANCi0tLSAvZGV2L251bGwNCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNldHZsL3ByMTA5 NzQzLTEuYw0KQEAgLTAsMCArMSwyNiBAQA0KKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdjdiAtbWFi aT1pbHAzMiAtZm5vLXRyZWUtdmVjdG9yaXplIC1mbm8tc2NoZWR1bGUtaW5z bnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisNCisjaW5jbHVkZSAi cmlzY3ZfdmVjdG9yLmgiDQorDQordm9pZCBmIChpbnQzMl90ICogYSwgaW50 MzJfdCAqIGIsIGludCBuKQ0KK3sNCisgICAgaWYgKG4gPD0gMCkNCisgICAg ICByZXR1cm47DQorICAgIGludCBpID0gbjsNCisgICAgc2l6ZV90IHZsID0g X19yaXNjdl92c2V0dmxfZTMybTEgKGkpOw0KKyAgICBmb3IgKDsgaSA+PSAw OyBpLS0pDQorICAgICAgew0KKyAgICAgICAgdmludDMybTFfdCB2ID0gX19y aXNjdl92bGUzMl92X2kzMm0xIChhLCB2bCk7DQorICAgICAgICBfX3Jpc2N2 X3ZzZTMyX3ZfaTMybTEgKGIsIHYsIHZsKTsNCisNCisgICAgICAgIGlmIChp ID49IHZsKQ0KKyAgICAgICAgICBjb250aW51ZTsNCisgICAgICAgIGlmIChp ID09IDApDQorICAgICAgICAgIHJldHVybjsNCisgICAgICAgIHZsID0gX19y aXNjdl92c2V0dmxfZTMybTEgKGkpOw0KKyAgICAgIH0NCit9DQorDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteDAtOV0rLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTEsXHMqdFthdV0s XHMqbVthdV19IDIgeyB0YXJnZXQgeyBuby1vcHRzICItTzAiIG5vLW9wdHMg Ii1PMSIgbm8tb3B0cyAiLU9zIiBuby1vcHRzICItT3oiIG5vLW9wdHMgIi1n IiBuby1vcHRzICItZnVucm9sbC1sb29wcyIgfSB9IH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaX0gMiB7 IHRhcmdldCB7IG5vLW9wdHMgIi1PMCIgbm8tb3B0cyAiLU8xIiBuby1vcHRz ICItT3MiIG5vLW9wdHMgIi1PeiIgbm8tb3B0cyAiLWciIG5vLW9wdHMgIi1m dW5yb2xsLWxvb3BzIiB9IH0gfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di92c2V0dmwvcHIxMDk3NDMt Mi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di92c2V0 dmwvcHIxMDk3NDMtMi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAwMDAuLjVmNjY0N2JiOTE2DQotLS0gL2Rldi9udWxsDQorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9w cjEwOTc0My0yLmMNCkBAIC0wLDAgKzEsMjcgQEANCisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2MzJnY3Yg LW1hYmk9aWxwMzIgLWZuby10cmVlLXZlY3Rvcml6ZSAtZm5vLXNjaGVkdWxl LWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQorDQorI2luY2x1 ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3ZvaWQgZiAoaW50MzJfdCAqIGEs IGludDMyX3QgKiBiLCBpbnQgbikNCit7DQorICAgIGlmIChuIDw9IDApDQor ICAgICAgcmV0dXJuOw0KKyAgICBpbnQgaSA9IG47DQorICAgIHNpemVfdCB2 bCA9IF9fcmlzY3ZfdnNldHZsX2U4bWY0IChpKTsNCisgICAgZm9yICg7IGkg Pj0gMDsgaS0tKQ0KKyAgICAgIHsNCisgICAgICAgIHZpbnQzMm0xX3QgdiA9 IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoYSwgdmwpOw0KKyAgICAgICAgX19y aXNjdl92c2UzMl92X2kzMm0xIChiLCB2LCB2bCk7DQorDQorICAgICAgICBp ZiAoaSA+PSB2bCkNCisgICAgICAgICAgY29udGludWU7DQorICAgICAgICBp ZiAoaSA9PSAwKQ0KKyAgICAgICAgICByZXR1cm47DQorICAgICAgICB2bCA9 IF9fcmlzY3ZfdnNldHZsX2UzMm0xIChpKTsNCisgICAgICB9DQorfQ0KKw0K Kw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXgwLTldKyxccypbYS14MC05XSssXHMqZTMyLFxzKm0xLFxz KnRbYXVdLFxzKm1bYXVdfSAyIHsgdGFyZ2V0IHsgbm8tb3B0cyAiLU8wIiBu by1vcHRzICItTzEiIG5vLW9wdHMgIi1PcyIgbm8tb3B0cyAiLU96IiBuby1v cHRzICItZyIgbm8tb3B0cyAiLWZ1bnJvbGwtbG9vcHMiIH0gfSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGl9IDIgeyB0YXJnZXQgeyBuby1vcHRzICItTzAiIG5vLW9wdHMgIi1PMSIg bm8tb3B0cyAiLU9zIiBuby1vcHRzICItT3oiIG5vLW9wdHMgIi1nIiBuby1v cHRzICItZnVucm9sbC1sb29wcyIgfSB9IH0gfSAqLw0KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNldHZsL3By MTA5NzQzLTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvdnNldHZsL3ByMTA5NzQzLTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi41ZGJjODcxZWQxMg0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di92 c2V0dmwvcHIxMDk3NDMtMy5jDQpAQCAtMCwwICsxLDI4IEBADQorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djMyZ2N2IC1tYWJpPWlscDMyIC1mbm8tdHJlZS12ZWN0b3JpemUgLWZuby1z Y2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKw0K KyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCit2b2lkIGYgKGludDMy X3QgKiBhLCBpbnQzMl90ICogYiwgaW50IG4pDQorew0KKyAgICBpZiAobiA8 PSAwKQ0KKyAgICAgIHJldHVybjsNCisgICAgaW50IGkgPSBuOw0KKyAgICBz aXplX3QgdmwgPSBfX3Jpc2N2X3ZzZXR2bF9lOG1mMiAoaSk7DQorICAgIGZv ciAoOyBpID49IDA7IGktLSkNCisgICAgICB7DQorICAgICAgICB2aW50MzJt MV90IHYgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMybTEgKGEsIHZsKTsNCisgICAg ICAgIF9fcmlzY3ZfdnNlMzJfdl9pMzJtMSAoYiwgdiwgdmwpOw0KKw0KKyAg ICAgICAgaWYgKGkgPj0gdmwpDQorICAgICAgICAgIGNvbnRpbnVlOw0KKyAg ICAgICAgaWYgKGkgPT0gMCkNCisgICAgICAgICAgcmV0dXJuOw0KKyAgICAg ICAgdmwgPSBfX3Jpc2N2X3ZzZXR2bF9lMzJtMSAoaSk7DQorICAgICAgfQ0K K30NCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14MC05XSssXHMqW2EteDAtOV0rLFxzKmU4LFxzKm1m Mixccyp0W2F1XSxccyptW2F1XX0gMSB7IHRhcmdldCB7IG5vLW9wdHMgIi1P MCIgbm8tb3B0cyAiLU8xIiBuby1vcHRzICItT3MiIG5vLW9wdHMgIi1PeiIg bm8tb3B0cyAiLWciIG5vLW9wdHMgIi1mdW5yb2xsLWxvb3BzIiB9IH0gfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteDAtOV0rLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTEs XHMqdFthdV0sXHMqbVthdV19IDEgeyB0YXJnZXQgeyBuby1vcHRzICItTzAi IG5vLW9wdHMgIi1PMSIgbm8tb3B0cyAiLU9zIiBuby1vcHRzICItT3oiIG5v LW9wdHMgIi1nIiBuby1vcHRzICItZnVucm9sbC1sb29wcyIgfSB9IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccyptMSxccyp0W2F1 XSxccyptW2F1XX0gMSB7IHRhcmdldCB7IG5vLW9wdHMgIi1PMCIgbm8tb3B0 cyAiLU8xIiBuby1vcHRzICItT3MiIG5vLW9wdHMgIi1PeiIgbm8tb3B0cyAi LWciIG5vLW9wdHMgIi1mdW5yb2xsLWxvb3BzIiB9IH0gfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpfSAz IHsgdGFyZ2V0IHsgbm8tb3B0cyAiLU8wIiBuby1vcHRzICItTzEiIG5vLW9w dHMgIi1PcyIgbm8tb3B0cyAiLU96IiBuby1vcHRzICItZyIgbm8tb3B0cyAi LWZ1bnJvbGwtbG9vcHMiIH0gfSB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3ZzZXR2bC9wcjEwOTc0 My00LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3Zz ZXR2bC9wcjEwOTc0My00LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAwMC4uZWRkMTI4NTVmNTgNCi0tLSAvZGV2L251bGwNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvdnNldHZs L3ByMTA5NzQzLTQuYw0KQEAgLTAsMCArMSwyOCBAQA0KKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdj diAtbWFiaT1pbHAzMiAtZm5vLXRyZWUtdmVjdG9yaXplIC1mbm8tc2NoZWR1 bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisNCisjaW5j bHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordm9pZA0KK2YgKGludDMyX3Qg KmEsIGludDMyX3QgKmIsIGludCBuKQ0KK3sNCisgIGlmIChuIDw9IDApDQor ICAgIHJldHVybjsNCisgIGludCBpID0gbjsNCisgIHNpemVfdCB2bCA9IF9f cmlzY3ZfdnNldHZsX2U4bWY0IChpKTsNCisgIGZvciAoOyBpID49IDA7IGkt LSkNCisgICAgew0KKyAgICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3Zfdmxl MzJfdl9pMzJtMSAoYSArIGksIHZsKTsNCisgICAgICB2ID0gX19yaXNjdl92 bGUzMl92X2kzMm0xX3R1ICh2LCBhICsgaSArIDEwMCwgdmwpOw0KKyAgICAg IF9fcmlzY3ZfdnNlMzJfdl9pMzJtMSAoYiArIGksIHYsIHZsKTsNCisNCisg ICAgICBpZiAoaSA+PSB2bCkNCisgY29udGludWU7DQorICAgICAgaWYgKGkg PT0gMCkNCisgcmV0dXJuOw0KKyAgICAgIHZsID0gX19yaXNjdl92c2V0dmxf ZThtZjQgKGkpOw0KKyAgICB9DQorfQ0KKw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXgwLTldKyxccypb YS14MC05XSssXHMqZTMyLFxzKm0xLFxzKnR1LFxzKm1bYXVdfSAyIHsgdGFy Z2V0IHsgbm8tb3B0cyAiLU8wIiBuby1vcHRzICItTzEiIG5vLW9wdHMgIi1P cyIgbm8tb3B0cyAiLU96IiBuby1vcHRzICItZyIgbm8tb3B0cyAiLWZ1bnJv bGwtbG9vcHMiIH0gfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGl9IDIgeyB0YXJnZXQgeyBuby1vcHRz ICItTzAiIG5vLW9wdHMgIi1PMSIgbm8tb3B0cyAiLU9zIiBuby1vcHRzICIt T3oiIG5vLW9wdHMgIi1nIiBuby1vcHRzICItZnVucm9sbC1sb29wcyIgfSB9 IH0gfSAqLw0KLS0gDQoyLjM2LjMNCiANCg== ------=_001_NextPart877433685543_=------