From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 5FFDA3858D28 for ; Tue, 18 Apr 2023 08:08:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5FFDA3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681805319; x=1713341319; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=pfZ8dQ37xHnnxrfHt2q+r/isB+5utlI78/2OU1I8mBE=; b=T/XjIYvmMWjGyPpbzMAjaVyODzfHSVz1y04H97HuJWan4LP20kdrF60Z yivtWj5IEwxSKLvb8gMZY6uhXX67LShp+zfX5wVSmCVUB4pY3AaV/IUab 7KJ8HmBdKgWktvZXYDX6QDbD/6pAoP6GB+CINi+oij0cdlYgROY1t8hIA yPEgjOJ90LqX+flTNrncmUHRpdJobvGsNhrqUDGJuQT/jGfRFK5JHi/zU anDH4pm0diajrFTNS1VABj9nh1zG685NIJb2j5Np+sEXU4z826TQDpngw 9Yr93lbSXWl/qsXmahSfBLB6EshS4SXDsIPtAMAopox9SpUz0qq4PvfyG g==; X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="325445442" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="325445442" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 01:08:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="690997803" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="690997803" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 18 Apr 2023 01:08:38 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 01:08:37 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 01:08:37 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 18 Apr 2023 01:08:37 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 18 Apr 2023 01:08:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L5D4B7vMMVtQvCfnOqTNLaY/nOuDFNiIa2dIdxlbQLm3cs/DLQImqXtoCaoOs6CHjrqJSiPJJ6hxFksHKO14PJNVsztvfJd9Yc5sFE0pjTmGfurlibK9OVMtx0whb/wBvrHuq2Vc8zDXKNCECdu/75Q25Wh1JkY5+//i6Z5kqm21MXn7IcVms17IZww+u1dn7Ff3Hfk4lkELyd6KWRTpAzbhOY2yTy8moebjIFnBpfkswJq/35IMMuEpRyGY0RbzDudLy3d51t15fVLpOk1N9OGPWNf+KwReVOXOwAm4bvsCkY6k7Zdo3P7xFh8hg+rNirWLF26JBJHL+cbUX1WQCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pfZ8dQ37xHnnxrfHt2q+r/isB+5utlI78/2OU1I8mBE=; b=oLhz8vrSiNcNTyJlURmzJmrcIpENj/OzCIBI2yg8tcjmYztEOGPXKirwP5XI8zwX3eZI8zouQT519eknwnodby1dHb87TWtHi/CtfI6Tu2SejP4K2+a6IYq4BgsLm6Csti01HkzlGH1t75c1Vz66cVN+zpuvHKuKXHx42cIw4Xr+B1LTa5QZrvMHlSSdEQrS+4+PNDJNAEkb0uBLp2JvRhpvXTjTVQTVOEwwajTqw2vkeZyBUdHpv0JxtW+onEl9V8h9+yuwg1FJAcy5tTys9Ty6Dl/rQZ1AQtNRzHCbpZebHmj2DhnSRSSm4PnCELCebwFKP2V6LrGAa5k4YIBrdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by PH8PR11MB7072.namprd11.prod.outlook.com (2603:10b6:510:214::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 08:08:35 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9%6]) with mapi id 15.20.6298.045; Tue, 18 Apr 2023 08:08:34 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "rguenther@suse.de" , "Wang, Yanzhang" , "richard.sandiford@arm.com" Subject: RE: [PATCH] RISC-V: Allow Vector IOR(V1, NOT V1) optimiztion Thread-Topic: [PATCH] RISC-V: Allow Vector IOR(V1, NOT V1) optimiztion Thread-Index: AQHZcTwAxHfWo4qJP0Wi4A9KCjJ6ca8wSDNQgABsvoCAAAEmkA== Date: Tue, 18 Apr 2023 08:08:34 +0000 Message-ID: References: <20230417145025.2291874-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|PH8PR11MB7072:EE_ x-ms-office365-filtering-correlation-id: f72dcbf1-7b01-4126-d4a3-08db3fe41b33 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yrdKcltlM1UbLKnKCmNiui3PcnrCim0uCasF9+A7ZKJcoKteMRaP/Ms2vJi6+jcq356gn8DMHXocHWHBxz+ErX+7etQ+kW/xdV+G1v4LNhCu1i6FroJpjmYX595fI5weMrZI+rGtClhMNxthDtXNU6CSlDkFL7tC7IAtNbMRN61UbJ0FJteqFDYrFc479fegRWoELTADhaRFrY0UkfTBewXHRKkaDEsMtN1if8e7uEDQ6z3GX9BBmaSS4Skc59eOcVJsTlh4Ik026F/xKAkbl2k4O55/3P02WJDjCm8OA/jJs6wrnmDZZMZxGo3O4/R5QOZhSMBgvYAAgLkDNXqiVlt194LX11IXO/4aP8oYhh5voB4uv5ce5aZWuf+yPJzEvtlgm+FFFEG8KQv30aT3JMY1SHIL6ItUF9k1ipsRFzXXHEpCrLlxXm/+1fhyn/EPtDYYDVFSeq3n0gWxBSsi/sMxoVoQcrgDKCKyevnWKSQhvl6XqUSmL0TF43Zljc5XiIWJ7HnnjwpuP++gCNUTKNpGCID4O9swH1L5ztAPd58qeQ1QKl75b+vNVwFlB/V9jjL4aPFBpwn/+EPjauX9t7BwRx6FhS+tPDqRhp1l26A= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(376002)(396003)(366004)(346002)(451199021)(6916009)(4326008)(54906003)(316002)(66946007)(64756008)(76116006)(66476007)(66446008)(66556008)(71200400001)(7696005)(478600001)(55016003)(8676002)(8936002)(41300700001)(5660300002)(52536014)(2906002)(122000001)(38070700005)(82960400001)(86362001)(33656002)(38100700002)(26005)(9686003)(186003)(53546011)(6506007)(83380400001)(84970400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Uzl6MHV5bVZaU2phVkhYQkQ5c1JQYVZ0TlcvL1lHUzFINnlienBSNCtXQldJ?= =?utf-8?B?eVpZRkhSK0J4MU9MSFBXYUhabzE0MWFFWmp1ZHF6dk9sRTNtMzFtbmJwNWN5?= =?utf-8?B?QTlTTVoyMkplTkNsdktHSGVrZVIyT1BubEZMKy82K0I5L3h3dytxQ1lIWERn?= =?utf-8?B?MDRBRVdEZCtzMGw2bWVwQzZiSlRrK3hiZDFOb3o5R3BXKzBHMU5sVnZabVcx?= =?utf-8?B?elBYeGYrSVdEczd3QVp6ODhzNFpqV0tlUW85RHJrTEdGcktkMDdpS0xmbStq?= =?utf-8?B?MVB3YW5QQ0ZWMjI1TzI3RjdtcDBFbUhneVRFOUFwbUF1bmJlN0plcEVPb3VH?= =?utf-8?B?empNNzVNUjEveGNiMnY1YkpZTThnOU5pZzg4VHp0NFhQcTRVV2ZZQTB5bE1i?= =?utf-8?B?UzhwU1h4VU5ob2tzZ0NhUkxXTGhiSSttN25uOFYrNjdCSFhlb1pmWXhDN21M?= =?utf-8?B?a0FEUlYyQ3BjT0YxYnVpTFExRTlYT3AvTk1lM3VURWcycmcrdXlRaEpmcjY1?= =?utf-8?B?OWZZc3lkdkJiQW1JblF6aWRsczY5dWtEdkJkaE4wbDdYR0NXdHFsaURaVklF?= =?utf-8?B?RzRHeDFsbzhkbHVlbHZZTzdTUFdnTVF2dWRrbDNPaTFiMG4xOXZXTXo2UCtN?= =?utf-8?B?cmJpclcxQS8vd29oYngvZEVMK3crYzBIWDh6c2xmelRPcWRadFlnRUsvZmVm?= =?utf-8?B?K25RUFZZTFRhZHBmdFMxLzh6MTZ5bklFeHVNNHp5K1I5a1ZDcHRRdUFkZ2ly?= =?utf-8?B?SXFQaWFKOHFjci8wVGZWQTRqblVqY0hNc0x1SC8zUGxTeE9RMXlnOFQ5eTk4?= =?utf-8?B?TGFJck00QlVERjVYakJ1VSsxcG1ORXNCYkpJc1RKQ2VnYm5lWkROYTlzTUhr?= =?utf-8?B?aUNvUFNRRVlCM2FLclpoRkQxQU8yRm4xSVlpOGtTYnZNY0NGUWZiMVBTelB4?= =?utf-8?B?cC9SMTVKcGV5ZjdOS2N0Q3cydjJXb0tEaTE5NXdaTjcxcVpzU0ZlVVFWZnJy?= =?utf-8?B?NkhoNkFBQ2JMNWpNdGZpSVM3U0pHVVptTG91VVZlTzZSL3p6bEMzMTFmV09j?= =?utf-8?B?Vy9QbW9TSzNBSVg4bFppbjJ2eUNCYm45c3hSayt4bUlwTTVYZFd1QzBYY2tj?= =?utf-8?B?c0h2bFFuVnpLVE9RbERsZDlrZFliY1ZReU93NHUvSFZRUHBNWklVUHA3cytz?= =?utf-8?B?OTk3eUo3VS9xMGFaUFA3eCtFZEV0T1F5b1ZiWTAxZU90akdrVDBrSTdPdWM5?= =?utf-8?B?blYwQzNZaXBJa2J4VDRPT1RVaDhtTnZ2NEplcXVIdGExU0FnaU82VjVQdjVw?= =?utf-8?B?MnNnU0RIQzRPL2lDenExdTFOR3hhYkxEK0ZLZ3hXbkd0ZkE0eDEyUDFPVlpC?= =?utf-8?B?WnZVcFIwUWlCbmpmUWJhUWNiK0ZISjgxWEZrT2hROGxLUmdZZERnRDVTN3hs?= =?utf-8?B?VEZUK1lZTnZEdVFlUVhBaWdwa2p4OVR4c0Ezb3NtVVVpYm1YWGEzcXFmV2tL?= =?utf-8?B?QVlybS9RL28rUVZ3WFU4dHNSdjVnR2xlUFJESVhUZUVSTm50alhUUDk4NFNi?= =?utf-8?B?dUR3cGxtVmdaUk9wbW1iL3Vrbjd6UGwwTHBGUjRBZzU2aEhjTUNjZTlxYnRV?= =?utf-8?B?b084dUhaR003Q2trM2RZQUZlV3J2bHVCRGV5MXlhVlcxTUNsZW4yK1BScVVw?= =?utf-8?B?SEpJZk1iK3hmSXQ2UlVIMkNNeldOTERubktmN2t2MjNldnBYYXVMMmpaSVFE?= =?utf-8?B?TlJLSlliQ1hrd3BUNXdCVStlcXc4L1NZQkl1WjJMWVhpUXV4NWdLUCs2bk5h?= =?utf-8?B?Mk1TcXI2MFFzR1g2NWZFamdSNGtDRFlaaTdDMzNiMXIzNnJZN2dUMHp4UllM?= =?utf-8?B?MFROMDlPN3RvR0NTY1hod0Y3eWVhSUxGdUR1dGNpM1YzYWMvWUhCNGhYdkw3?= =?utf-8?B?LzNTWUJOWnZmTjkrVFBsbURqS0F0N3liazMyWlhuQzZTM2JKV3FVY0hESEZY?= =?utf-8?B?cVVTZUNYOEFpNk0wSStEN3BZNUxNK2VMZkNrQy9uNnhZd0crUE5lbjFQbURQ?= =?utf-8?B?eVlEU0lCbW1qaXlpWEZlY2tCRExVS2V5clByeWNOMTV4KzZzSG1jbXpJNU5i?= =?utf-8?Q?pWXs=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f72dcbf1-7b01-4126-d4a3-08db3fe41b33 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2023 08:08:34.4521 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eIcTYeURbDg2F54Y/PNVqLh9JS3+Yd5d7KbfeEM9euN/K+RvkFG+pU8aja0fgGF6u3IEZ8dKLBsszfR9RLlf2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7072 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,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: VGhhbmtzIFJpY2hhcmQgZm9yIGNvbW1lbnRzLCBDSUwgYW5kIHdpbGwgaGF2ZSBhIHRyeSBmb3Ig dGhlIHN1Z2dlc3Rpb25zLg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4gDQpTZW50OiBU dWVzZGF5LCBBcHJpbCAxOCwgMjAyMyA0OjAwIFBNDQpUbzogTGksIFBhbjIgPHBhbjIubGlAaW50 ZWwuY29tPg0KQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBqdXpoZS56aG9uZ0ByaXZhaS5h aTsga2l0by5jaGVuZ0BzaWZpdmUuY29tOyByZ3VlbnRoZXJAc3VzZS5kZTsgV2FuZywgWWFuemhh bmcgPHlhbnpoYW5nLndhbmdAaW50ZWwuY29tPjsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbQ0K U3ViamVjdDogUmU6IFtQQVRDSF0gUklTQy1WOiBBbGxvdyBWZWN0b3IgSU9SKFYxLCBOT1QgVjEp IG9wdGltaXp0aW9uDQoNCk9uIFR1ZSwgQXByIDE4LCAyMDIzIGF0IDM6MzHigK9BTSBMaSwgUGFu MiB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPiB3cm90ZToNCj4NCj4g UGFzc2VkIHRoZSBYODYgYm9vdHN0cmFwIGFuZCByZWdyZXNzaW9uIHRlc3RzLg0KPg0KPiBQYW4N Cj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGksIFBhbjIgPHBhbjIu bGlAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIEFwcmlsIDE3LCAyMDIzIDEwOjUwIFBNDQo+ IFRvOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiBDYzoganV6aGUuemhvbmdAcml2YWkuYWk7 IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTsgcmd1ZW50aGVyQHN1c2UuZGU7IA0KPiBMaSwgUGFuMiA8 cGFuMi5saUBpbnRlbC5jb20+OyBXYW5nLCBZYW56aGFuZyANCj4gPHlhbnpoYW5nLndhbmdAaW50 ZWwuY29tPjsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbQ0KPiBTdWJqZWN0OiBbUEFUQ0hdIFJJ U0MtVjogQWxsb3cgVmVjdG9yIElPUihWMSwgTk9UIFYxKSBvcHRpbWl6dGlvbg0KPg0KPiBGcm9t OiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPg0KPg0KPiBUaGlzIHBhdGNoIGFkZCB0aGUgb3B0 aW1pemF0aW9uIGZvciB0aGUgdmVjdG9yIElPUihWMSwgTk9UIFYxKS4gQXNzdW1lIHdlIGhhdmUg YmVsb3cgc2FtcGxlIGNvZGUuDQo+DQo+IHZib29sMzJfdCB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNj dl92bW9ybl9jYXNlXzUodmJvb2wzMl90IHYxLCBzaXplX3QgdmwpIHsNCj4gICByZXR1cm4gX19y aXNjdl92bW9ybl9tbV9iMzIodjEsIHYxLCB2bCk7IH0NCj4NCj4gQmVmb3JlIHRoaXMgcGF0Y2g6 DQo+IHZzZXR2bGkgIGE1LHplcm8sZTgsbWY0LHRhLG1hDQo+IHZsbS52ICAgIHYyNCwwKGExKQ0K PiB2c2V0dmxpICB6ZXJvLGEyLGU4LG1mNCx0YSxtYQ0KPiB2bW9ybi5tbSB2MjQsdjI0LHYyNA0K PiB2c2V0dmxpICBhNSx6ZXJvLGU4LG1mNCx0YSxtYQ0KPiB2c20udiAgICB2MjQsMChhMCkNCj4g cmV0DQo+DQo+IEFmdGVyIHRoaXMgcGF0Y2g6DQo+IHZzZXR2bGkgemVybyxhMixlOCxtZjQsdGEs bWENCj4gdm1zZXQubSB2MjQNCj4gdnNldHZsaSBhNSx6ZXJvLGU4LG1mNCx0YSxtYQ0KPiB2c20u diAgIHYyNCwwKGEwKQ0KPiByZXQNCj4NCj4gT3IgaW4gUlRMJ3MgcGVyc3BlY3RpdmUsDQo+IGZy b206DQo+IChpb3I6Vk54MkJJIChyZWcvdjpWTngyQkkgMTM3IFsgdjEgXSkgKG5vdDpWTngyQkkg KHJlZy92OlZOeDJCSSAxMzcgWyANCj4gdjEgXSkpKQ0KPiB0bzoNCj4gKGNvbnN0X3ZlY3RvcjpW TngyQkkgcmVwZWF0IFsgKGNvbnN0X2ludCAxIFsweDFdKSBdKQ0KPg0KPiBUaGUgc2ltaWxhciBv cHRpbWl6YXRpb24gbGlrZSBWTUFORE4gaGFzIGVuYWJsZWQgYWxyZWFkeS4gVGhlcmUgc2hvdWxk IGJlIG5vIGRpZmZlcmVuY2UgZXhlY3B0IHRoZSBvcGVyYXRvciB3aGVuIGNvbXBhcmUgdGhlIFZN T1JOIGFuZCBWTUFORE4gZm9yIHN1Y2gga2luZCBvZiBvcHRpbWl6YXRpb24uIFRoZSBwYXRjaCBh bGxvd3MgdGhlIFZFQ1RPUl9CT09MIElPUihWMSwgTk9UIFYxKSBzaW1wbGlmaWNhdGlvbiBiZXNp ZGVzIHRoZSBleGlzdGluZyBTQ0FMQVJfSU5UIG1vZGUuDQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+ DQo+ICAgICAgICAgKiBtYWNobW9kZS5oIChWRUNUT1JfQk9PTF9NT0RFX1ApOg0KPiAgICAgICAg ICogc2ltcGxpZnktcnR4LmNjICh2YWxpZF9tb2RlX2Zvcl9pb3Jfc2ltcGxpZmljYXRpb25fcCk6 DQo+ICAgICAgICAgKHNpbXBsaWZ5X2NvbnRleHQ6OnNpbXBsaWZ5X2JpbmFyeV9vcGVyYXRpb25f MSk6DQo+DQo+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPg0KPiAgICAgICAgICogZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9tYXNrX2luc25fc2hvcnRjdXQuYzoNCj4gICAgICAgICAqIGdj Yy50YXJnZXQvcmlzY3Yvc2ltcGxpZnlfaW9yX29wdGltaXphdGlvbi5jOiBOZXcgdGVzdC4NCj4N Cj4gU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gLS0tDQo+ICBn Y2MvbWFjaG1vZGUuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKw0KPiAg Z2NjL3NpbXBsaWZ5LXJ0eC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrLQ0K PiAgLi4uL3Jpc2N2L3J2di9iYXNlL21hc2tfaW5zbl9zaG9ydGN1dC5jICAgICAgIHwgIDMgKy0N Cj4gIC4uLi9yaXNjdi9zaW1wbGlmeV9pb3Jfb3B0aW1pemF0aW9uLmMgICAgICAgICB8IDUwICsr KysrKysrKysrKysrKysrKysNCj4gIDQgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlIDEwMDY0NCANCj4gZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3NpbXBsaWZ5X2lvcl9vcHRpbWl6YXRpb24uYw0KPg0KPiBkaWZmIC0tZ2l0 IGEvZ2NjL21hY2htb2RlLmggYi9nY2MvbWFjaG1vZGUuaCBpbmRleCANCj4gZjE4NjVjMWVmNDIu Ljc3MWJhZTg5Y2I3IDEwMDY0NA0KPiAtLS0gYS9nY2MvbWFjaG1vZGUuaA0KPiArKysgYi9nY2Mv bWFjaG1vZGUuaA0KPiBAQCAtMTM0LDYgKzEzNCwxMCBAQCBleHRlcm4gY29uc3QgdW5zaWduZWQg Y2hhciBtb2RlX2NsYXNzW05VTV9NQUNISU5FX01PREVTXTsNCj4gICAgIHx8IEdFVF9NT0RFX0NM QVNTIChNT0RFKSA9PSBNT0RFX1ZFQ1RPUl9BQ0NVTSAgICAgICBcDQo+ICAgICB8fCBHRVRfTU9E RV9DTEFTUyAoTU9ERSkgPT0gTU9ERV9WRUNUT1JfVUFDQ1VNKQ0KPg0KPiArLyogTm9uemVybyBp ZiBNT0RFIGlzIGEgdmVjdG9yIGJvb2wgbW9kZS4gICovDQo+ICsjZGVmaW5lIFZFQ1RPUl9CT09M X01PREVfUChNT0RFKSAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAoR0VUX01PREVfQ0xB U1MgKE1PREUpID09IE1PREVfVkVDVE9SX0JPT0wpICAgICAgICAgIFwNCj4gKw0KPiAgLyogTm9u emVybyBpZiBNT0RFIGlzIGEgc2NhbGFyIGludGVncmFsIG1vZGUuICAqLw0KPiAgI2RlZmluZSBT Q0FMQVJfSU5UX01PREVfUChNT0RFKSAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gICAgKEdF VF9NT0RFX0NMQVNTIChNT0RFKSA9PSBNT0RFX0lOVCAgICAgICAgICAgXA0KPiBkaWZmIC0tZ2l0 IGEvZ2NjL3NpbXBsaWZ5LXJ0eC5jYyBiL2djYy9zaW1wbGlmeS1ydHguY2MgaW5kZXggDQo+IGVl NzUwNzk5MTdmLi5lZmYyN2I4MzViZiAxMDA2NDQNCj4gLS0tIGEvZ2NjL3NpbXBsaWZ5LXJ0eC5j Yw0KPiArKysgYi9nY2Mvc2ltcGxpZnktcnR4LmNjDQo+IEBAIC01Nyw2ICs1NywxMiBAQCBuZWdf cG9seV9pbnRfcnR4IChtYWNoaW5lX21vZGUgbW9kZSwgY29uc3RfcnR4IGkpDQo+ICAgIHJldHVy biBpbW1lZF93aWRlX2ludF9jb25zdCAoLXdpOjp0b19wb2x5X3dpZGUgKGksIG1vZGUpLCBtb2Rl KTsgIH0NCj4NCj4gK3N0YXRpYyBib29sDQo+ICt2YWxpZF9tb2RlX2Zvcl9pb3Jfc2ltcGxpZmlj YXRpb25fcCAobWFjaGluZV9tb2RlIG1vZGUpIHsNCj4gKyAgcmV0dXJuIFNDQUxBUl9JTlRfTU9E RV9QIChtb2RlKSB8fCBWRUNUT1JfQk9PTF9NT0RFX1AgKG1vZGUpOyB9DQo+ICsNCj4gIC8qIFRl c3Qgd2hldGhlciBleHByZXNzaW9uLCBYLCBpcyBhbiBpbW1lZGlhdGUgY29uc3RhbnQgdGhhdCBy ZXByZXNlbnRzDQo+ICAgICB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgbWFjaGluZSBtb2Rl IE1PREUuICAqLw0KPg0KPiBAQCAtMzMzMiw4ICszMzM4LDggQEAgc2ltcGxpZnlfY29udGV4dDo6 c2ltcGxpZnlfYmluYXJ5X29wZXJhdGlvbl8xIChydHhfY29kZSBjb2RlLA0KPiAgICAgICAgaWYg KCgoR0VUX0NPREUgKG9wMCkgPT0gTk9UICYmIHJ0eF9lcXVhbF9wIChYRVhQIChvcDAsIDApLCBv cDEpKQ0KPiAgICAgICAgICAgIHx8IChHRVRfQ09ERSAob3AxKSA9PSBOT1QgJiYgcnR4X2VxdWFs X3AgKFhFWFAgKG9wMSwgMCksIG9wMCkpKQ0KPiAgICAgICAgICAgJiYgISBzaWRlX2VmZmVjdHNf cCAob3AwKQ0KPiAtICAgICAgICAgJiYgU0NBTEFSX0lOVF9NT0RFX1AgKG1vZGUpKQ0KPiAtICAg ICAgIHJldHVybiBjb25zdG0xX3J0eDsNCj4gKyAgICAgICAgICYmIHZhbGlkX21vZGVfZm9yX2lv cl9zaW1wbGlmaWNhdGlvbl9wIChtb2RlKSkNCg0KZm9yIHNpbXBsZSBwcmVkaWNhdGVzIGxpa2Ug dGhpcyBwbGVhc2UgZG8gbm90IHNwbGl0IHRoZW0gb3V0LCBpdCBtYWtlcyB1bmRlcnN0YW5kaW5n IHRoZSBjb2RlIG1vcmUgZGlmZmljdWx0Lg0KW3Bhbl06IFN1cmUsIHdpbGwgdXBkYXRlIHRoaXMg cGFydC4NCg0KPiArICAgICAgIHJldHVybiBDT05TVDFfUlRYIChtb2RlKTsNCg0Kc2hvdWxkbid0 IHRoaXMgYmUgQ09OU1RNMV9SVFggKG1vZGUpPyAgV2h5IGlzIHRoaXMgb25seSB2YWxpZCBmb3Ig VkVDVE9SX0JPT0wgYW5kIG5vdCBhbHNvIGZvciBWRUNUT1JfSU5UPyAgWW91J3JlIGNpdGluZyBB TkQgYW5kIHRoYXQgZG9lcw0KW3Bhbl06IHdpbGwgaGF2ZSBhIHRyeSBmb3IgQ09OU1RNMV9SVFgu IEkgYW0gbm90IHZlcnkgc3VyZSB0aGVyZSBpcyBzb21lIGFkLWhvYyByZWFzb24gd2hlbiBjb21w YXJlIHRvIEFORCwgdGh1cyBvbmx5IGFkZCB0aGUgVkVDVE9SX0JPT0wgY292ZXJlZCBieSB0ZXN0 LCB3aWxsIGhhdmUgdXBkYXRlIHRvIHNpbWlsYXIgd2F5IGFzIEFORC4NCg0KICAgICAgLyogQSAm ICh+QSkgLT4gMCAqLw0KICAgICAgaWYgKCgoR0VUX0NPREUgKG9wMCkgPT0gTk9UICYmIHJ0eF9l cXVhbF9wIChYRVhQIChvcDAsIDApLCBvcDEpKQ0KICAgICAgICAgICB8fCAoR0VUX0NPREUgKG9w MSkgPT0gTk9UICYmIHJ0eF9lcXVhbF9wIChYRVhQIChvcDEsIDApLCBvcDApKSkNCiAgICAgICAg ICAmJiAhIHNpZGVfZWZmZWN0c19wIChvcDApDQogICAgICAgICAgJiYgR0VUX01PREVfQ0xBU1Mg KG1vZGUpICE9IE1PREVfQ0MpDQogICAgICAgIHJldHVybiBDT05TVDBfUlRYIChtb2RlKTsNCg0K c28gd2h5IGRpZmZlciBhbmQgbm90IHVzZSB0aGUgc2FtZSBHRVRfTU9ERV9DTEFTUyAobW9kZSkg IT0gTU9ERV9DQyBjb25kaXRpb24/DQoNClJpY2hhcmQuDQoNCj4NCj4gICAgICAgIC8qIChpb3Ig QSBDKSBpcyBDIGlmIGFsbCBiaXRzIG9mIEEgdGhhdCBtaWdodCBiZSBub256ZXJvIGFyZSBvbiBp biBDLiAgKi8NCj4gICAgICAgIGlmIChDT05TVF9JTlRfUCAob3AxKQ0KPiBkaWZmIC0tZ2l0IA0K PiBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9tYXNrX2luc25fc2hv cnRjdXQuYyANCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWFz a19pbnNuX3Nob3J0Y3V0LmMNCj4gaW5kZXggODNjYzRhMWI1YTUuLjU3ZDAyNDE2NzVhIDEwMDY0 NA0KPiAtLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWFza19p bnNuX3Nob3J0Y3V0LmMNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL21hc2tfaW5zbl9zaG9ydGN1dC5jDQo+IEBAIC0yMzMsOSArMjMzLDggQEAgdmJvb2w2 NF90IA0KPiB0ZXN0X3Nob3J0Y3V0X2Zvcl9yaXNjdl92bXhub3JfY2FzZV82KHZib29sNjRfdCB2 MSwgc2l6ZV90IHZsKSB7DQo+ICAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2 bXhvclwubW1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IH0gDQo+IH0gKi8NCj4gIC8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3Ztb3JcLm1tXHMrdlswLTldKyxccyp2WzAtOV0rfSB9 IA0KPiB9ICovDQo+ICAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bW5vclwu bW1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IH0gDQo+IH0gKi8NCj4gLS8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyANCj4ge3Ztb3JuXC5tbVxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rfSA3IH0gfSAqLw0KPiAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCB7dm14bm9yXC5tbVxzK3ZbMC05XSssXHMqdlswLTldK30gDQo+IH0gfSAqLw0KPiAgLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bWNsclwubVxzK3ZbMC05XSt9IDE0IH0g fSAqLw0KPiAtLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bXNldFwubVxz K3ZbMC05XSt9IDcgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3Ztc2V0XC5tXHMrdlswLTldK30gMTQgfSB9ICovDQo+ICAvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZtbXZcLm1ccyt2WzAtOV0rLFxzKnZbMC05XSt9IA0KPiAxNCB9 IH0gKi8NCj4gIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dm1ub3RcLm1c cyt2WzAtOV0rLFxzKnZbMC05XSt9IA0KPiAxNCB9IH0gKi8gZGlmZiAtLWdpdCANCj4gYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yvc2ltcGxpZnlfaW9yX29wdGltaXphdGlvbi5jIA0K PiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9zaW1wbGlmeV9pb3Jfb3B0aW1pemF0 aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmVjM2Jk MGJhZjAzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3NpbXBsaWZ5X2lvcl9vcHRpbWl6YXRpb24uYw0KPiBAQCAtMCwwICsxLDUwIEBADQo+ ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2 NGdjIC1tYWJpPWxwNjQgLU8yIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4g Kw0KPiArdWludDhfdCB0ZXN0X3NpbXBsaWZ5X2lvcl9zY2FsYXJfY2FzZV8wICh1aW50OF90IGEp IHsNCj4gKyAgcmV0dXJuIGEgfCB+YTsNCj4gK30NCj4gKw0KPiArdWludDE2X3QgdGVzdF9zaW1w bGlmeV9pb3Jfc2NhbGFyX2Nhc2VfMSAodWludDE2X3QgYSkgew0KPiArICByZXR1cm4gYSB8IH5h Ow0KPiArfQ0KPiArDQo+ICt1aW50MzJfdCB0ZXN0X3NpbXBsaWZ5X2lvcl9zY2FsYXJfY2FzZV8y ICh1aW50MzJfdCBhKSB7DQo+ICsgIHJldHVybiBhIHwgfmE7DQo+ICt9DQo+ICsNCj4gK3VpbnQ2 NF90IHRlc3Rfc2ltcGxpZnlfaW9yX3NjYWxhcl9jYXNlXzMgKHVpbnQ2NF90IGEpIHsNCj4gKyAg cmV0dXJuIGEgfCB+YTsNCj4gK30NCj4gKw0KPiAraW50OF90IHRlc3Rfc2ltcGxpZnlfaW9yX3Nj YWxhcl9jYXNlXzQgKGludDhfdCBhKSB7DQo+ICsgIHJldHVybiBhIHwgfmE7DQo+ICt9DQo+ICsN Cj4gK2ludDE2X3QgdGVzdF9zaW1wbGlmeV9pb3Jfc2NhbGFyX2Nhc2VfNSAoaW50MTZfdCBhKSB7 DQo+ICsgIHJldHVybiBhIHwgfmE7DQo+ICt9DQo+ICsNCj4gK2ludDMyX3QgdGVzdF9zaW1wbGlm eV9pb3Jfc2NhbGFyX2Nhc2VfNiAoaW50MzJfdCBhKSB7DQo+ICsgIHJldHVybiBhIHwgfmE7DQo+ ICt9DQo+ICsNCj4gK2ludDY0X3QgdGVzdF9zaW1wbGlmeV9pb3Jfc2NhbGFyX2Nhc2VfNyAoaW50 NjRfdCBhKSB7DQo+ICsgIHJldHVybiBhIHwgfmE7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7bGlccythWzAtOV0rLFxzKi0xfSA2IH0gfSAqLw0K PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtsaVxzK2FbMC05XSssXHMq MjU1fSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHts aVxzK2FbMC05XSssXHMqNjU1MzZ9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHtvclxzK2FbMC05XSt9IH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLW5vdCB7bm90XHMrYVswLTldK30gfSB9ICovDQo+IC0tDQo+IDIuMzQuMQ0K Pg0K