From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg150.qq.com (smtpbg150.qq.com [18.132.163.193]) by sourceware.org (Postfix) with ESMTPS id 9D83C3858C31 for ; Fri, 14 Apr 2023 02:46:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9D83C3858C31 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: bizesmtp66t1681440388t7k27bu3 Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 14 Apr 2023 10:46:27 +0800 (CST) X-QQ-SSF: 01400000000000F0O000000A0000000 X-QQ-FEAT: qcKkmz/zJhzDsnfsnQAK6Kx/LjQ+e3gMs2ueeSStpPDx4lIgg3QRc2AyLGngc X3B63Sm+zpeyOvYIm2mdNeoch35gpZ/EisOaM2ogxFPUjlo4/QL5EzzTe56QATIoyv1yK1p +ZMTWGeqv4CbHQ4HOlfss/BYAmB3nteoL287uT9nkzKfm5lnSIDXLuXzI04u6LWJtbZ75+8 epv0aLQAroED1x+1iKHTZKuneXZLjOBmPk6hZHKTKXTduB2saaMZIE/9y+4ujzNPWk8KCIA a67i5XRnRPSJSrpLYr+PlWfOJ33zT2XSLeJ7kndtV6SFT9Sq0TL6eKTAYchDecc7d8SFq68 1euU1LUMac9MDITpiGg/WgXU714X+ymvbNqtR8t0NF2ifD/2ujKMO7MAQau9t+84hrpOEXB slMCqKle0+xEMjVTKX7zOg== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 11718535296424943509 Date: Fri, 14 Apr 2023 10:46:27 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: Kito.cheng , yanzhang.wang , pan2.li Subject: Re: [PATCH v2] RISC-V: Add test cases for the RVV mask insn shortcut. References: <20230414023238.2921142-1-pan2.li@intel.com>, <20230414024529.2930664-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 23735B20-9658-4848-B8DB-5180162F3FAC X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <7FCF953158846DE1+202304141046265870301@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart237220182216_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_SORBS_WEB,SPF_HELO_PASS,SPF_PASS,TXREP 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_NextPart237220182216_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 TEdUTS4gV2FpdCBmb3IgS2l0byBtb3JlIGNvbW1lbnRzLg0KDQoNCg0KanV6 aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IHBhbjIubGkNCkRhdGU6IDIw MjMtMDQtMTQgMTA6NDUNClRvOiBnY2MtcGF0Y2hlcw0KQ0M6IGp1emhlLnpo b25nOyBraXRvLmNoZW5nOyB5YW56aGFuZy53YW5nOyBwYW4yLmxpDQpTdWJq ZWN0OiBbUEFUQ0ggdjJdIFJJU0MtVjogQWRkIHRlc3QgY2FzZXMgZm9yIHRo ZSBSVlYgbWFzayBpbnNuIHNob3J0Y3V0Lg0KRnJvbTogUGFuIExpIDxwYW4y LmxpQGludGVsLmNvbT4NCiANClRoZXJlIGFyZSBzb3J0cyBvZiBzaG9ydGN1 dCBjb2RlZ2VuIGZvciB0aGUgUlZWIG1hc2sgaW5zbi4gRm9yDQpleGFtcGxl Lg0KIA0Kdm14b3IgdmQsIHZhLCB2YSA9PiB2bWNsciB2ZC4NCiANCldlIHdv dWxkIGxpa2UgdG8gYWRkIG1vcmUgb3B0aW1pemF0aW9uIGxpa2UgdGhpcyBi dXQgZmlyc3Qgb2YgYWxsDQp3ZSBtdXN0IGFkZCB0aGUgdGVzdHMgZm9yIHRo ZSBleGlzdGluZyBzaG9ydGN1dCBvcHRpbWl6YXRpb24sIHRvDQplbnN1cmUg d2UgZG9uJ3QgYnJlYWsgZXhpc3Rpbmcgb3B0aW1pemF0aW9uIGZyb20gdW5k ZXJseWluZyBzaG9ydGN1dA0Kb3B0aW1pemF0aW9uLg0KIA0KZ2NjL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2c6DQogDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvbWFza19pbnNuX3Nob3J0Y3V0LmM6IE5ldyB0ZXN0Lg0KIA0KU2lnbmVk LW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCi0tLQ0KLi4u L3Jpc2N2L3J2di9iYXNlL21hc2tfaW5zbl9zaG9ydGN1dC5jICAgICAgIHwg MjM5ICsrKysrKysrKysrKysrKysrKw0KMSBmaWxlIGNoYW5nZWQsIDIzOSBp bnNlcnRpb25zKCspDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL21hc2tfaW5zbl9zaG9ydGN1 dC5jDQogDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL21hc2tfaW5zbl9zaG9ydGN1dC5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL21hc2tfaW5zbl9z aG9ydGN1dC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMDAuLmVmYzNhZjM5ZmMzDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWFza19pbnNu X3Nob3J0Y3V0LmMNCkBAIC0wLDAgKzEsMjM5IEBADQorLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2 IC1tYWJpPWxwNjQgLU8zIiB9ICovDQorDQorI2luY2x1ZGUgInJpc2N2X3Zl Y3Rvci5oIg0KKw0KK3Zib29sMV90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2 X3ZtYW5kX2Nhc2VfMCh2Ym9vbDFfdCB2MSwgc2l6ZV90IHZsKSB7DQorICBy ZXR1cm4gX19yaXNjdl92bWFuZF9tbV9iMSh2MSwgdjEsIHZsKTsNCit9DQor DQordmJvb2wyX3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1hbmRfY2Fz ZV8xKHZib29sMl90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jp c2N2X3ZtYW5kX21tX2IyKHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDRf dCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bWFuZF9jYXNlXzIodmJvb2w0 X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm1hbmRf bW1fYjQodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sOF90IHRlc3Rfc2hv cnRjdXRfZm9yX3Jpc2N2X3ZtYW5kX2Nhc2VfMyh2Ym9vbDhfdCB2MSwgc2l6 ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bWFuZF9tbV9iOCh2MSwg djEsIHZsKTsNCit9DQorDQordmJvb2wxNl90IHRlc3Rfc2hvcnRjdXRfZm9y X3Jpc2N2X3ZtYW5kX2Nhc2VfNCh2Ym9vbDE2X3QgdjEsIHNpemVfdCB2bCkg ew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm1hbmRfbW1fYjE2KHYxLCB2MSwgdmwp Ow0KK30NCisNCit2Ym9vbDMyX3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zf dm1hbmRfY2FzZV81KHZib29sMzJfdCB2MSwgc2l6ZV90IHZsKSB7DQorICBy ZXR1cm4gX19yaXNjdl92bWFuZF9tbV9iMzIodjEsIHYxLCB2bCk7DQorfQ0K Kw0KK3Zib29sNjRfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bWFuZF9j YXNlXzYodmJvb2w2NF90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBf X3Jpc2N2X3ZtYW5kX21tX2I2NCh2MSwgdjEsIHZsKTsNCit9DQorDQordmJv b2wxX3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1uYW5kX2Nhc2VfMCh2 Ym9vbDFfdCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92 bW5hbmRfbW1fYjEodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMl90IHRl c3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZtbmFuZF9jYXNlXzEodmJvb2wyX3Qg djEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm1uYW5kX21t X2IyKHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDRfdCB0ZXN0X3Nob3J0 Y3V0X2Zvcl9yaXNjdl92bW5hbmRfY2FzZV8yKHZib29sNF90IHYxLCBzaXpl X3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZtbmFuZF9tbV9iNCh2MSwg djEsIHZsKTsNCit9DQorDQordmJvb2w4X3QgdGVzdF9zaG9ydGN1dF9mb3Jf cmlzY3Zfdm1uYW5kX2Nhc2VfMyh2Ym9vbDhfdCB2MSwgc2l6ZV90IHZsKSB7 DQorICByZXR1cm4gX19yaXNjdl92bW5hbmRfbW1fYjgodjEsIHYxLCB2bCk7 DQorfQ0KKw0KK3Zib29sMTZfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92 bW5hbmRfY2FzZV80KHZib29sMTZfdCB2MSwgc2l6ZV90IHZsKSB7DQorICBy ZXR1cm4gX19yaXNjdl92bW5hbmRfbW1fYjE2KHYxLCB2MSwgdmwpOw0KK30N CisNCit2Ym9vbDMyX3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1uYW5k X2Nhc2VfNSh2Ym9vbDMyX3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJu IF9fcmlzY3Zfdm1uYW5kX21tX2IzMih2MSwgdjEsIHZsKTsNCit9DQorDQor dmJvb2w2NF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZtbmFuZF9jYXNl XzYodmJvb2w2NF90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jp c2N2X3ZtbmFuZF9tbV9iNjQodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29s MV90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZtYW5kbl9jYXNlXzAodmJv b2wxX3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm1h bmRuX21tX2IxKHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDJfdCB0ZXN0 X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bWFuZG5fY2FzZV8xKHZib29sMl90IHYx LCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZtYW5kbl9tbV9i Mih2MSwgdjEsIHZsKTsNCit9DQorDQordmJvb2w0X3QgdGVzdF9zaG9ydGN1 dF9mb3JfcmlzY3Zfdm1hbmRuX2Nhc2VfMih2Ym9vbDRfdCB2MSwgc2l6ZV90 IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bWFuZG5fbW1fYjQodjEsIHYx LCB2bCk7DQorfQ0KKw0KK3Zib29sOF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jp c2N2X3ZtYW5kbl9jYXNlXzModmJvb2w4X3QgdjEsIHNpemVfdCB2bCkgew0K KyAgcmV0dXJuIF9fcmlzY3Zfdm1hbmRuX21tX2I4KHYxLCB2MSwgdmwpOw0K K30NCisNCit2Ym9vbDE2X3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1h bmRuX2Nhc2VfNCh2Ym9vbDE2X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0 dXJuIF9fcmlzY3Zfdm1hbmRuX21tX2IxNih2MSwgdjEsIHZsKTsNCit9DQor DQordmJvb2wzMl90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZtYW5kbl9j YXNlXzUodmJvb2wzMl90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBf X3Jpc2N2X3ZtYW5kbl9tbV9iMzIodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zi b29sNjRfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bWFuZG5fY2FzZV82 KHZib29sNjRfdCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNj dl92bWFuZG5fbW1fYjY0KHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDFf dCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bXhvcl9jYXNlXzAodmJvb2wx X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm14b3Jf bW1fYjEodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMl90IHRlc3Rfc2hv cnRjdXRfZm9yX3Jpc2N2X3ZteG9yX2Nhc2VfMSh2Ym9vbDJfdCB2MSwgc2l6 ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bXhvcl9tbV9iMih2MSwg djEsIHZsKTsNCit9DQorDQordmJvb2w0X3QgdGVzdF9zaG9ydGN1dF9mb3Jf cmlzY3Zfdm14b3JfY2FzZV8yKHZib29sNF90IHYxLCBzaXplX3QgdmwpIHsN CisgIHJldHVybiBfX3Jpc2N2X3ZteG9yX21tX2I0KHYxLCB2MSwgdmwpOw0K K30NCisNCit2Ym9vbDhfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bXhv cl9jYXNlXzModmJvb2w4X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJu IF9fcmlzY3Zfdm14b3JfbW1fYjgodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zi b29sMTZfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bXhvcl9jYXNlXzQo dmJvb2wxNl90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2 X3ZteG9yX21tX2IxNih2MSwgdjEsIHZsKTsNCit9DQorDQordmJvb2wzMl90 IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZteG9yX2Nhc2VfNSh2Ym9vbDMy X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm14b3Jf bW1fYjMyKHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDY0X3QgdGVzdF9z aG9ydGN1dF9mb3JfcmlzY3Zfdm14b3JfY2FzZV82KHZib29sNjRfdCB2MSwg c2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bXhvcl9tbV9iNjQo djEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMV90IHRlc3Rfc2hvcnRjdXRf Zm9yX3Jpc2N2X3Ztb3JfY2FzZV8wKHZib29sMV90IHYxLCBzaXplX3Qgdmwp IHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztb3JfbW1fYjEodjEsIHYxLCB2bCk7 DQorfQ0KKw0KK3Zib29sMl90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Zt b3JfY2FzZV8xKHZib29sMl90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVy biBfX3Jpc2N2X3Ztb3JfbW1fYjIodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zi b29sNF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztb3JfY2FzZV8yKHZi b29sNF90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Zt b3JfbW1fYjQodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sOF90IHRlc3Rf c2hvcnRjdXRfZm9yX3Jpc2N2X3Ztb3JfY2FzZV8zKHZib29sOF90IHYxLCBz aXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztb3JfbW1fYjgodjEs IHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMTZfdCB0ZXN0X3Nob3J0Y3V0X2Zv cl9yaXNjdl92bW9yX2Nhc2VfNCh2Ym9vbDE2X3QgdjEsIHNpemVfdCB2bCkg ew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm1vcl9tbV9iMTYodjEsIHYxLCB2bCk7 DQorfQ0KKw0KK3Zib29sMzJfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92 bW9yX2Nhc2VfNSh2Ym9vbDMyX3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0 dXJuIF9fcmlzY3Zfdm1vcl9tbV9iMzIodjEsIHYxLCB2bCk7DQorfQ0KKw0K K3Zib29sNjRfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bW9yX2Nhc2Vf Nih2Ym9vbDY0X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlz Y3Zfdm1vcl9tbV9iNjQodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMV90 IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztbm9yX2Nhc2VfMCh2Ym9vbDFf dCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bW5vcl9t bV9iMSh2MSwgdjEsIHZsKTsNCit9DQorDQordmJvb2wyX3QgdGVzdF9zaG9y dGN1dF9mb3JfcmlzY3Zfdm1ub3JfY2FzZV8xKHZib29sMl90IHYxLCBzaXpl X3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztbm9yX21tX2IyKHYxLCB2 MSwgdmwpOw0KK30NCisNCit2Ym9vbDRfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9y aXNjdl92bW5vcl9jYXNlXzIodmJvb2w0X3QgdjEsIHNpemVfdCB2bCkgew0K KyAgcmV0dXJuIF9fcmlzY3Zfdm1ub3JfbW1fYjQodjEsIHYxLCB2bCk7DQor fQ0KKw0KK3Zib29sOF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztbm9y X2Nhc2VfMyh2Ym9vbDhfdCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4g X19yaXNjdl92bW5vcl9tbV9iOCh2MSwgdjEsIHZsKTsNCit9DQorDQordmJv b2wxNl90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztbm9yX2Nhc2VfNCh2 Ym9vbDE2X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zf dm1ub3JfbW1fYjE2KHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDMyX3Qg dGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1ub3JfY2FzZV81KHZib29sMzJf dCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bW5vcl9t bV9iMzIodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sNjRfdCB0ZXN0X3No b3J0Y3V0X2Zvcl9yaXNjdl92bW5vcl9jYXNlXzYodmJvb2w2NF90IHYxLCBz aXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztbm9yX21tX2I2NCh2 MSwgdjEsIHZsKTsNCit9DQorDQordmJvb2wxX3QgdGVzdF9zaG9ydGN1dF9m b3JfcmlzY3Zfdm1vcm5fY2FzZV8wKHZib29sMV90IHYxLCBzaXplX3Qgdmwp IHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztb3JuX21tX2IxKHYxLCB2MSwgdmwp Ow0KK30NCisNCit2Ym9vbDJfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92 bW9ybl9jYXNlXzEodmJvb2wyX3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0 dXJuIF9fcmlzY3Zfdm1vcm5fbW1fYjIodjEsIHYxLCB2bCk7DQorfQ0KKw0K K3Zib29sNF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3Ztb3JuX2Nhc2Vf Mih2Ym9vbDRfdCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNj dl92bW9ybl9tbV9iNCh2MSwgdjEsIHZsKTsNCit9DQorDQordmJvb2w4X3Qg dGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm1vcm5fY2FzZV8zKHZib29sOF90 IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztb3JuX21t X2I4KHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDE2X3QgdGVzdF9zaG9y dGN1dF9mb3JfcmlzY3Zfdm1vcm5fY2FzZV80KHZib29sMTZfdCB2MSwgc2l6 ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92bW9ybl9tbV9iMTYodjEs IHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sMzJfdCB0ZXN0X3Nob3J0Y3V0X2Zv cl9yaXNjdl92bW9ybl9jYXNlXzUodmJvb2wzMl90IHYxLCBzaXplX3Qgdmwp IHsNCisgIHJldHVybiBfX3Jpc2N2X3Ztb3JuX21tX2IzMih2MSwgdjEsIHZs KTsNCit9DQorDQordmJvb2w2NF90IHRlc3Rfc2hvcnRjdXRfZm9yX3Jpc2N2 X3Ztb3JuX2Nhc2VfNih2Ym9vbDY0X3QgdjEsIHNpemVfdCB2bCkgew0KKyAg cmV0dXJuIF9fcmlzY3Zfdm1vcm5fbW1fYjY0KHYxLCB2MSwgdmwpOw0KK30N CisNCit2Ym9vbDFfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bXhub3Jf Y2FzZV8wKHZib29sMV90IHYxLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBf X3Jpc2N2X3ZteG5vcl9tbV9iMSh2MSwgdjEsIHZsKTsNCit9DQorDQordmJv b2wyX3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm14bm9yX2Nhc2VfMSh2 Ym9vbDJfdCB2MSwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92 bXhub3JfbW1fYjIodjEsIHYxLCB2bCk7DQorfQ0KKw0KK3Zib29sNF90IHRl c3Rfc2hvcnRjdXRfZm9yX3Jpc2N2X3ZteG5vcl9jYXNlXzIodmJvb2w0X3Qg djEsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3Zfdm14bm9yX21t X2I0KHYxLCB2MSwgdmwpOw0KK30NCisNCit2Ym9vbDhfdCB0ZXN0X3Nob3J0 Y3V0X2Zvcl9yaXNjdl92bXhub3JfY2FzZV8zKHZib29sOF90IHYxLCBzaXpl X3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZteG5vcl9tbV9iOCh2MSwg djEsIHZsKTsNCit9DQorDQordmJvb2wxNl90IHRlc3Rfc2hvcnRjdXRfZm9y X3Jpc2N2X3ZteG5vcl9jYXNlXzQodmJvb2wxNl90IHYxLCBzaXplX3Qgdmwp IHsNCisgIHJldHVybiBfX3Jpc2N2X3ZteG5vcl9tbV9iMTYodjEsIHYxLCB2 bCk7DQorfQ0KKw0KK3Zib29sMzJfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNj dl92bXhub3JfY2FzZV81KHZib29sMzJfdCB2MSwgc2l6ZV90IHZsKSB7DQor ICByZXR1cm4gX19yaXNjdl92bXhub3JfbW1fYjMyKHYxLCB2MSwgdmwpOw0K K30NCisNCit2Ym9vbDY0X3QgdGVzdF9zaG9ydGN1dF9mb3JfcmlzY3Zfdm14 bm9yX2Nhc2VfNih2Ym9vbDY0X3QgdjEsIHNpemVfdCB2bCkgew0KKyAgcmV0 dXJuIF9fcmlzY3Zfdm14bm9yX21tX2I2NCh2MSwgdjEsIHZsKTsNCit9DQor DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm1hbmRc Lm1tXHMrdlswLTldKyxccyp2WzAtOV0rfSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bW5hbmRcLm1tXHMrdlswLTld Kyxccyp2WzAtOV0rfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHt2bW5hbmRuXC5tbVxzK3ZbMC05XSssXHMqdlswLTld K30gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCB7dm14b3JcLm1tXHMrdlswLTldKyxccyp2WzAtOV0rfSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bW9yXC5tbVxz K3ZbMC05XSssXHMqdlswLTldK30gfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm1ub3JcLm1tXHMrdlswLTldKyxccyp2 WzAtOV0rfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3Ztb3JuXC5tbVxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rfSA3IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3Qge3ZteG5vclwubW1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dm1jbHJcLm1ccyt2WzAtOV0rfSAxNCB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Ztc2V0XC5tXHMrdlswLTldK30g NyB9IH0gKi8NCi0tIA0KMi4zNC4xDQogDQogDQo= ------=_001_NextPart237220182216_=------