From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id C33193858419 for ; Tue, 31 Oct 2023 14:10:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C33193858419 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C33193858419 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=134.134.136.20 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698761454; cv=pass; b=xp7Ey01d4w1XijieqXtXSW5uIEudBZdan23J+dIOaw8H7qPrMIBWrUh4nK74Auqa/dV75diDs+ug8Ln6u8P8Lj2l5kF2kIIWCuIew5XPrCRhw4rDbS8ARkmBITux/8uXZ8Kt6TX2W8LBuWSGH1rIXVeAeJeBTuOJClvYgl+ngro= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698761454; c=relaxed/simple; bh=L7I5ExGWi70cxIp1rIRVsNwcsxp5uE38Ps87D0moGhw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=UBqe6bvvu+GgjNqJvaaeW2DbpumRpStmJqEFkWxXY9biDxT7AALY0LdSuq0iI1Z481xcaRbMBhk2pzlY4XigDSEXWCgnc9CyGHQOWE6UnP3pWwEB5y5kAg2rAOM1fzrzR5uPIeXcwepL92o9tNBWUAPPeyqgUid8dIkvUUq3lPQ= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698761452; x=1730297452; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=L7I5ExGWi70cxIp1rIRVsNwcsxp5uE38Ps87D0moGhw=; b=gkhOEnEpherFBcMao6oIerbXW8G3TNrNlGciTKmlvhW/3Cs6Sz87PTtP DepZwa9I3BtPOjXn6kaWIYEdTBNjhnlBGaufglJ4ryMO6/wsFwtZ592no X4xfPrC7w5OXB+4IVJEPLM4/E5VMwfiom0IHuf3dbeg9CZ9ehtrIQAsl9 J85GB5Jm7Q51FYkp6DSpHwLh41GAFC7rrwtE9ZTCN8LquuzHD85dSsptY t2Kb1TLDdBfiUN+oDCzruiVO98NpxdZwYf2jGWBANYBNE/vbrBcPxkJVq I9k/IIQ1SQ+PuwoK1qFb9F3Q6hJQ7RrLJwK39GsmsZPW9vGJWspWNUGIA Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10880"; a="378683026" X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="378683026" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Oct 2023 07:10:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10880"; a="795592677" X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="795592677" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 31 Oct 2023 07:10:36 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 31 Oct 2023 07:10:36 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Tue, 31 Oct 2023 07:10:36 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Tue, 31 Oct 2023 07:10:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PkJGRG8oiHChDzPuV4ZwA/h1mmiANJdckoEMSnZ4+0p01kn4Wam4EVg6fgQfI+zyLH5j8Jt+weHquIHgq84Schx02dSKacEZDN3D6IY9TyJbZxfXwPn9P9/JA7cBAd2yPKJOnXyz4UVBpYQpl8ll8tUydpqHfk6VwhLgKwAqxmvM0vnvF18WhJPqL1JqM704FJlqnxAXzEjzwJZqoonxUcFnrbQjP3ENNHcc7gZ7fHwaMH679fcQzyyqJUMK/2kdOr2FxxHNBk7GxmgcPc2qk/ABpe/sqE/f3kP1Sic3dTznR8GkDbpOMaXqmZay+GXueXR1yXoGXIEcw5jGWsj8TA== 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=L7I5ExGWi70cxIp1rIRVsNwcsxp5uE38Ps87D0moGhw=; b=dH4n1DLyipdj4sOuaIhZpiD26dnAQ9hVb/jHFkwTpkZHR1WTCJuoE/fn266seCYJhZI3wc/cmHcIcGNEq3otqxWE94uQJxmKuGpcgOrlDXWaJxF+LZoofnP+iMULmft9dyovNd8sJPdddYG+x5HBsbdB/P8+CuAmc+eK1q6+sht/foKBx4G9YEGzTpGmWhhzOa4WtqKAc1dGMI1d+MHYBFOLC4fcOYetEitQxNxS11O55CHgNomFT4JzFs1Plj8iIgzbNOxYRz6445G3GiQGu0T1oWokdLX55+zzuwUaufnJg/uBEFPA0pyK46cJY6OtOTZjUmgNL4yemg0WkwlYTQ== 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 DS0PR11MB6424.namprd11.prod.outlook.com (2603:10b6:8:c4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Tue, 31 Oct 2023 14:10:33 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c%5]) with mapi id 15.20.6933.029; Tue, 31 Oct 2023 14:10:33 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "kito.cheng@gmail.com" , "Liu, Hongtao" Subject: RE: [PATCH v3] VECT: Refine the type size restriction of call vectorizer Thread-Topic: [PATCH v3] VECT: Refine the type size restriction of call vectorizer Thread-Index: AQHaCyvf5Twr476enU26hH5GrEzkgrBj3YmAgAAUAiA= Date: Tue, 31 Oct 2023 14:10:33 +0000 Message-ID: References: <20231018012009.849697-1-pan2.li@intel.com> <20231030122256.3710809-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_|DS0PR11MB6424:EE_ x-ms-office365-filtering-correlation-id: 00798ca8-8ca9-4d13-9e6a-08dbda1b25d9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ylnq5GBacaPmlx8jKVqJ/0/IxES3lssoaprE0PVDtlfNe4h/SF8VNXsC5YgwP4dLLmBbBJ50rzZxyKr8D1DBMlThHILpunjVwjQIFjBWhiffvydI25vHlJi1JkuW0bEHauhf72OYafpxspYiLsU+8j0xcUQDy3GjlvCnPko/aQ8jYHwP306VvTZCXi/6OW5uLzc/9PTIFaLNmQ7H/nGfZDdMadAgbxQgJlD17NckQavhIDpAyU9+aZ7AA9y9FnxzQWthaC1ewXwuNCJVSQsSqo1/tcPWE/ExpXMtCPp3F19lS3RkChqWEkQe8cLYHNQ4/b+hskZp4u4DIPrAPK4rWqYap1+m0wJDjn8A6LEqjSphwuLZaImO4UDb4Q0a2o9wlOuGT13dxVANWaNn7zGtkdM4s8/yLY4ayA11x/f0kgxOOBMqu301AowKw1HQ2/vFvDLcrHj3jQL+UIfVhrFV9yUb6rUNUnvKv6dotKHzYeXmIshAtMYjelmLlwmPuGRYj7NeSJKRNVkH5XsN+alJCWe8S9YS/QquQdZzvVuPo3PuzwfuwvJSBBRoSH2rUAPFanmNUZFk6GgxAmaGxjXMNhFvybukPIRFVc8lIa3tYBVaHZsdO07bVgZjaZd5JCkS 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:(13230031)(396003)(366004)(346002)(376002)(39860400002)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(122000001)(82960400001)(33656002)(86362001)(38070700009)(55016003)(2906002)(9686003)(478600001)(41300700001)(8936002)(8676002)(52536014)(4326008)(6506007)(7696005)(53546011)(71200400001)(83380400001)(107886003)(26005)(76116006)(66556008)(6916009)(5660300002)(316002)(66946007)(66476007)(66446008)(64756008)(54906003)(38100700002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bnQ2dFBXZll1WC8rWU5iY2ljYmxhbWtxTGEySDEvanRSR1ZqYmh6NUFFYW03?= =?utf-8?B?UmVSdXF2T0Q4TEpmTkZONmhpZk1rdE1wTGFpQ3lENkFCbGdJRCsxM2tkVUhM?= =?utf-8?B?OXAxNlJWQ2VMZ3Evd3dOZTQzUDZ4V3hZV1NZSkdPUGlwYi9MMEozYlJ6ZUgr?= =?utf-8?B?WjRyR3l4ZElFZ1BiUmQ0Y1dOdmJHdHJ0WFJrdEtiMTJKVVBPL21mKysxRWNw?= =?utf-8?B?UGI0c3BzLzNuN21zaGV1TkxYVHpSZ0Y0Nmx6QUE1bXQzUXdzT1lDemNHNlZX?= =?utf-8?B?ZnpEaGs0bVQvSGVaUzIvL3pBVWMza1l6SjdTbExaaDhKQ2hsK0RKdUk2Q2Na?= =?utf-8?B?WHNPZzFqQjk0VE5ZcmEyeGtVOWtYVnUyaDNhUEtLTFQ5SVVXMHEvRFF6dlNK?= =?utf-8?B?bFhxN0puTld6blBaNjhUbnFSNFIxNmhVYVpaK0xWUWZCVWhKZ1NxdXpkWE0r?= =?utf-8?B?US85RS9KUFRLZHBIM2x3RUQ5UHh3ZEQ4MUlmYlB0QXp5bjdzRVZYcjZVTnJt?= =?utf-8?B?eGxnK2hLdG8vdWNmODJ0YUZyWHdoN3BGRnBSaFdaVUxxSm5zTHViMjFsdmQ3?= =?utf-8?B?aGczU2pxcS9tbXFCb0xCR3U1MGZ6YnFBR2ZHVmZXSFltMjN4Q2V2Vk51SXVl?= =?utf-8?B?VHRBOVhDVTBQVjltR3YyNDVVWkplUFc4RGtQbXUramppTFNITjJyc3FDZ0ts?= =?utf-8?B?bkM0Z29SSnRsaERUV1Y4NnlRSGZyL1dFYmt5VFVLRjJ4OTNkbHNoY2FmWGw5?= =?utf-8?B?WlNoRUtMc2loMmF3ZStZeGNtSkk5WmpqWFVJNGVSVEZPQWRRRDN3TzdFWUFo?= =?utf-8?B?UlBhQWZmUjVRUEEwYmQzUzNsRnBRSWV5QWdFNERKUnAySkU2d0pvN2V4NjZJ?= =?utf-8?B?WGpBUy9wd1JuUDFIOGgxR2IyMFQ5dEx5NEFkRzlla1pXV0ZSYXI2c0pPTjkx?= =?utf-8?B?alVKN1hrVHV3Q0lyaGFCRkNROXVva3N5R1lrMlVkcUpCa3lyRTRYRi9DTHp3?= =?utf-8?B?dVB5RjVVMzUzYzZydWlvcncwS2tMTHdmSGxFajRtY3hLMloxZGhHcFJHaEgx?= =?utf-8?B?Mi9GcURJYUw4NGhQM0lScVNHdEkrWnoxQVRDMGt4eFdhbWpMMzdYM2dQWUti?= =?utf-8?B?TmFLVkNsT1JNNWJzTEhrOVMyN3A2eDFlSWpxNXpJS3RjQXBuN29zVVdPT2hy?= =?utf-8?B?bnV1RU9YNGJUZ0V3WXVMMkZyMnVJV2pUd2lTRllEdXQwQzJ5QW1ESmE3dXlq?= =?utf-8?B?UmUzTDVzOHk5bkJJZktqT3NNbFBySjBlVWRRdExJaGFseVJseVFyMklWSWlv?= =?utf-8?B?U20xOG1OUDdxY2RLNHZ5aFN6K3hBYVExVllySUJFWlFwZ1JqRm1ZZ3N3bjlV?= =?utf-8?B?a0c3NEs5SWxEeFhhc0hCZnBnV2FtUUVXOEVRdk5ybDhaS2RpUVZPN01oclYw?= =?utf-8?B?ZURvTG9aL2RuRnNRVFFvMURlOWtGNGEvamR1d2JGK0QzZE5DdGxxQWdMQWpt?= =?utf-8?B?cXc1RnFmbFM4SVlnckx6SWI3Z1I0QURJSFBIYkRVa0tqcTNVeTNQZ0V5MUpo?= =?utf-8?B?WkdHb0NQbWsyRGxsOWUzTS9NVlp0SGFFUUdUVW1vbktiNmxla1MxZUMrZUVi?= =?utf-8?B?ZFNYbmFJU3NuYitFSzc1dExOZUJsZXQvRU9VZTB1R2xaMkJSTDBTTGlKNkFr?= =?utf-8?B?TDRlRlFmc2loRm5mdWtYbHN3dStEQzZ2aStvaWhBaHZHTEFIdjA2TDVPZ2wy?= =?utf-8?B?V0ljZCthb0NEcloxTTEyNGpnMHdLeXRSWlhJT29TQkVpK2FrcVRmb1J2ZzFt?= =?utf-8?B?Tzd1Q3dVOWdOM1pyVmVhQTkyUHdLR2UveWFROGI1MlhhcFlPb3VmaU9rb2Iz?= =?utf-8?B?NThBMi9UWHMxbFBLTDN5OEFVNW85OE1UTmFkODZESzlrUitHa1JzcTV1QnR6?= =?utf-8?B?NHh5YlJBQVRCdFJpNjZ6ZFdXOStqSFBFaE1BLzkvOFJjMytaS202Nkw3Yk0y?= =?utf-8?B?eHg5dXBvaXJUT3I4SlMwSlpLOXRJVlBmd3A4Tm83WENhZldJWUNCNVVyUFp1?= =?utf-8?B?RDE0cmlBNXB1bHNOcDJQREtSR1crcWRFdWllTUVoWEF1cExrRk5uN09jb2Mw?= =?utf-8?Q?Rpkc=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: 00798ca8-8ca9-4d13-9e6a-08dbda1b25d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2023 14:10:33.6458 (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: WXBuix7+jwm+xEhjJl4iaEFaQp1O7F/w/cmjh4V9WiEYEuHzyPjumhDFl0fLc9n5tje1j//n3aGyBX6iplLo2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6424 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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: PiBjYW4geW91IGluc3RlYWQgYW1lbmQgdmVjdG9yaXphYmxlX2ludGVybmFsX2Z1bmN0aW9uIHRv IGNvbnRhaW4gdGhlIGNoZWNrLA0KPiByZXR1cm5pbmcgSUZOX0xBU1QgaWYgaXQgZG9lc24ndCBo b2xkPw0KDQpTdXJlLCB3aWxsIHNlbmQgdjQgZm9yIHRoaXMuDQoNClBhbg0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJA Z21haWwuY29tPiANClNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMzEsIDIwMjMgODo1OCBQTQ0KVG86 IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9y ZzsganV6aGUuemhvbmdAcml2YWkuYWk7IFdhbmcsIFlhbnpoYW5nIDx5YW56aGFuZy53YW5nQGlu dGVsLmNvbT47IGtpdG8uY2hlbmdAZ21haWwuY29tOyBMaXUsIEhvbmd0YW8gPGhvbmd0YW8ubGl1 QGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIFZFQ1Q6IFJlZmluZSB0aGUgdHlw ZSBzaXplIHJlc3RyaWN0aW9uIG9mIGNhbGwgdmVjdG9yaXplcg0KDQpPbiBNb24sIE9jdCAzMCwg MjAyMyBhdCAxOjIz4oCvUE0gPHBhbjIubGlAaW50ZWwuY29tPiB3cm90ZToNCj4NCj4gRnJvbTog UGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4NCj4gVXBkYXRlIGluIHYzOg0KPg0KPiAqIEFk ZCBmdW5jIHRvIHByZWRpY2F0ZSB0eXBlIHNpemUgaXMgbGVnYWwgb3Igbm90IGZvciB2ZWN0b3Jp emVyIGNhbGwuDQo+DQo+IFVwZGF0ZSBpbiB2MjoNCj4NCj4gKiBGaXggb25lIElDRSBvZiB0eXBl IGFzc2VydGlvbi4NCj4gKiBBZGp1c3Qgc29tZSB0ZXN0IGNhc2VzIGZvciBhYXJjaDY0IHN2ZSBh bmQgcmlzY3YgdmVjdG9yLg0KPg0KPiBPcmlnaW5hbCBsb2c6DQo+DQo+IFRoZSB2ZWN0b3JpYWJs ZV9jYWxsIGhhcyBvbmUgcmVzdHJpY3Rpb24gb2YgdGhlIHNpemUgb2YgZGF0YSB0eXBlLg0KPiBB a2EgREYgdG8gREkgaXMgYWxsb3dlZCBidXQgU0YgdG8gREkgaXNuJ3QuIFlvdSBtYXkgc2VlIGJl bG93IG1lc3NhZ2UNCj4gd2hlbiB0cnkgdG8gdmVjdG9yaXplIGZ1bmN0aW9uIGNhbGwgbGlrZSBs cmludGYuDQo+DQo+IHZvaWQNCj4gdGVzdF9scmludGYgKGxvbmcgKm91dCwgZmxvYXQgKmluLCB1 bnNpZ25lZCBjb3VudCkNCj4gew0KPiAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb3VudDsg aSsrKQ0KPiAgICAgb3V0W2ldID0gX19idWlsdGluX2xyaW50ZiAoaW5baV0pOw0KPiB9DQo+DQo+ IGxyaW50Zi5jOjU6MjY6IG1pc3NlZDogY291bGRuJ3QgdmVjdG9yaXplIGxvb3ANCj4gbHJpbnRm LmM6NToyNjogbWlzc2VkOiBub3QgdmVjdG9yaXplZDogdW5zdXBwb3J0ZWQgZGF0YS10eXBlDQo+ DQo+IFRoZW4gdGhlIHN0YW5kYXJkIG5hbWUgcGF0dGVybiBsaWtlIGxyaW50bW4yIGNhbm5vdCB3 b3JrIGZvciBkaWZmZXJlbnQNCj4gZGF0YSB0eXBlIHNpemUgbGlrZSBTRiA9PiBESS4gVGhpcyBw YXRjaCB3b3VsZCBsaWtlIHRvIHJlZmluZSB0aGlzIGRhdGENCj4gdHlwZSBzaXplIGNoZWNrIGFu ZCB1bmJsb2NrIHRoZSBzdGFuZGFyZCBuYW1lIGxpa2UgbHJpbnRtbjIgb24gY29uZGl0aW9ucy4N Cj4NCj4gVGhlIHR5cGUgc2l6ZSBvZiB2ZWN0eXBlX291dCBuZWVkIHRvIGJlIGV4YWN0bHkgdGhl IHNhbWUgYXMgdGhlIHR5cGUNCj4gc2l6ZSBvZiB2ZWN0eXBlX2luIHdoZW4gdGhlIHZlY3R5cGVf b3V0IHNpemUgaXNuJ3QgcGFydGljaXBhdGluZyBpbg0KPiB0aGUgb3B0YWIgc2VsZWN0aW9uLiBX aGlsZSB0aGVyZSBpcyBubyBzdWNoIHJlc3RyaWN0aW9uIHdoZW4gdGhlDQo+IHZlY3R5cGVfb3V0 IGlzIHNvbWVob3cgYSBwYXJ0IG9mIHRoZSBvcHRhYiBxdWVyeS4NCj4NCj4gVGhlIGJlbG93IHRl c3QgYXJlIHBhc3NlZCBmb3IgdGhpcyBwYXRjaC4NCj4NCj4gKiBUaGUgeDg2IGJvb3RzdHJhcCBh bmQgcmVncmVzc2lvbiB0ZXN0Lg0KPiAqIFRoZSBhYXJjaDY0IHJlZ3Jlc3Npb24gdGVzdC4NCj4g KiBUaGUgcmlzYy12IHJlZ3Jlc3Npb24gdGVzdHMuDQo+ICogRW5zdXJlIHRoZSBscmludGYgc3Rh bmRhcmQgbmFtZSBpbiByaXNjLXYuDQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICAgICAgICAg KiB0cmVlLXZlY3Qtc3RtdHMuY2MgKHZlY3Rvcml6YWJsZV90eXBlX3NpemVfbGVnYWxfcCk6IE5l dw0KPiAgICAgICAgIGZ1bmMgaW1wbCB0byBwcmVkaWNhdGUgdGhlIHR5cGUgc2l6ZSBpcyBsZWdh bCBvciBub3QuDQo+ICAgICAgICAgKHZlY3Rvcml6YWJsZV9jYWxsKTogTGV2ZXJhZ2UgdmVjdG9y aXphYmxlX3R5cGVfc2l6ZV9sZWdhbF9wLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBh bjIubGlAaW50ZWwuY29tPg0KPiAtLS0NCj4gIGdjYy90cmVlLXZlY3Qtc3RtdHMuY2MgfCA1MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBh L2djYy90cmVlLXZlY3Qtc3RtdHMuY2MgYi9nY2MvdHJlZS12ZWN0LXN0bXRzLmNjDQo+IGluZGV4 IGE5MjAwNzY3ZjY3Li4yNGIzNDQ4ZDk2MSAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUtdmVjdC1z dG10cy5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0LXN0bXRzLmNjDQo+IEBAIC0xNDMwLDYgKzE0 MzAsMzUgQEAgdmVjdG9yaXphYmxlX2ludGVybmFsX2Z1bmN0aW9uIChjb21iaW5lZF9mbiBjZm4s IHRyZWUgZm5kZWNsLA0KPiAgICByZXR1cm4gSUZOX0xBU1Q7DQo+ICB9DQo+DQo+ICsvKiBSZXR1 cm4gVFJVRSB3aGVuIHRoZSB0eXBlIHNpemUgaXMgbGVnYWwgZm9yIHRoZSBjYWxsIHZlY3Rvcml6 ZXIsDQo+ICsgICBvciBGQUxTRS4NCj4gKyAgIFRoZSB0eXBlIHNpemUgb2YgYm90aCB0aGUgdmVj dHlwZV9pbiBhbmQgdmVjdHlwZV9vdXQgc2hvdWxkIGJlDQo+ICsgICBleGFjdGx5IHRoZSBzYW1l IHdoZW4gdmVjdHlwZV9vdXQgaXNuJ3QgcGFydGljaXBhdGluZyB0aGUgb3B0YWIuDQo+ICsgICBX aGlsZSB0aGVyZSBpcyBubyByZXN0cmljdGlvbiBmb3IgdHlwZSBzaXplIHdoZW4gdmVjdHlwZV9v dXQNCj4gKyAgIGlzIHBhcnQgb2YgdGhlIG9wdGFiIHF1ZXJ5Lg0KPiArICovDQo+ICtzdGF0aWMg Ym9vbA0KPiArdmVjdG9yaXphYmxlX3R5cGVfc2l6ZV9sZWdhbF9wIChpbnRlcm5hbF9mbiBpZm4s IHRyZWUgdmVjdHlwZV9vdXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJl ZSB2ZWN0eXBlX2luKQ0KPiArew0KPiArICBib29sIHNhbWVfc2l6ZV9wID0gVFlQRV9TSVpFICh2 ZWN0eXBlX2luKSA9PSBUWVBFX1NJWkUgKHZlY3R5cGVfb3V0KTsNCj4gKw0KPiArICBpZiAoaWZu ID09IElGTl9MQVNUIHx8ICFkaXJlY3RfaW50ZXJuYWxfZm5fcCAoaWZuKSkNCj4gKyAgICByZXR1 cm4gc2FtZV9zaXplX3A7DQo+ICsNCj4gKyAgY29uc3QgZGlyZWN0X2ludGVybmFsX2ZuX2luZm8g JmRpZm5faW5mbyA9IGRpcmVjdF9pbnRlcm5hbF9mbiAoaWZuKTsNCj4gKw0KPiArICBpZiAoIWRp Zm5faW5mby52ZWN0b3JpemFibGUpDQo+ICsgICAgcmV0dXJuIHNhbWVfc2l6ZV9wOw0KPiArDQo+ ICsgIC8qIEFjY29yZGluZyB0byB2ZWN0b3JpemFibGVfaW50ZXJuYWxfZnVuY3Rpb24sIHRoZSB0 eXBlMC8xIDwgMCBpbmRpY2F0ZXMNCj4gKyAgICAgdGhlIHZlY3R5cGVfb3V0IHBhcnRpY2lwYXRp bmcgdGhlIG9wdGFibGUgc2VsZWN0aW9uLiAgQWthIHRoZSB0eXBlIHNpemUNCj4gKyAgICAgY2hl Y2sgY2FuIGJlIHNraXBwZWQgaGVyZS4gICovDQo+ICsgIGlmIChkaWZuX2luZm8udHlwZTAgPCAw IHx8IGRpZm5faW5mby50eXBlMSA8IDApDQo+ICsgICAgcmV0dXJuIHRydWU7DQoNCmNhbiB5b3Ug aW5zdGVhZCBhbWVuZCB2ZWN0b3JpemFibGVfaW50ZXJuYWxfZnVuY3Rpb24gdG8gY29udGFpbiB0 aGUgY2hlY2ssDQpyZXR1cm5pbmcgSUZOX0xBU1QgaWYgaXQgZG9lc24ndCBob2xkPw0KDQo+ICsN Cj4gKyAgcmV0dXJuIHNhbWVfc2l6ZV9wOw0KPiArfQ0KPg0KPiAgc3RhdGljIHRyZWUgcGVybXV0 ZV92ZWNfZWxlbWVudHMgKHZlY19pbmZvICosIHRyZWUsIHRyZWUsIHRyZWUsIHN0bXRfdmVjX2lu Zm8sDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW1wbGVfc3RtdF9pdGVy YXRvciAqKTsNCj4gQEAgLTMzNjEsMTkgKzMzOTAsNiBAQCB2ZWN0b3JpemFibGVfY2FsbCAodmVj X2luZm8gKnZpbmZvLA0KPg0KPiAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiAgICAgIH0NCj4gLSAg LyogRk9STk9XOiB3ZSBkb24ndCB5ZXQgc3VwcG9ydCBtaXh0dXJlcyBvZiB2ZWN0b3Igc2l6ZXMg Zm9yIGNhbGxzLA0KPiAtICAgICBqdXN0IG1peHR1cmVzIG9mIG51bml0cy4gIEUuZy4gREktPlNJ IHZlcnNpb25zIG9mIF9fYnVpbHRpbl9jdHoqDQo+IC0gICAgIGFyZSB0cmFkaXRpb25hbGx5IHZl Y3Rvcml6ZWQgYXMgdHdvIFZuREktPlZuREkgSUZOX0NUWnMgZm9sbG93ZWQNCj4gLSAgICAgYnkg YSBwYWNrIG9mIHRoZSB0d28gdmVjdG9ycyBpbnRvIGFuIFNJIHZlY3Rvci4gIFdlIHdvdWxkIG5l ZWQNCj4gLSAgICAgc2VwYXJhdGUgY29kZSB0byBoYW5kbGUgZGlyZWN0IFZuREktPlZuU0kgSUZO X0NUWnMuICAqLw0KPiAtICBpZiAoVFlQRV9TSVpFICh2ZWN0eXBlX2luKSAhPSBUWVBFX1NJWkUg KHZlY3R5cGVfb3V0KSkNCj4gLSAgICB7DQo+IC0gICAgICBpZiAoZHVtcF9lbmFibGVkX3AgKCkp DQo+IC0gICAgICAgZHVtcF9wcmludGZfbG9jIChNU0dfTUlTU0VEX09QVElNSVpBVElPTiwgdmVj dF9sb2NhdGlvbiwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICJtaXNtYXRjaGVkIHZlY3Rv ciBzaXplcyAlVCBhbmQgJVRcbiIsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICB2ZWN0eXBl X2luLCB2ZWN0eXBlX291dCk7DQo+IC0gICAgICByZXR1cm4gZmFsc2U7DQo+IC0gICAgfQ0KPg0K PiAgICBpZiAoVkVDVE9SX0JPT0xFQU5fVFlQRV9QICh2ZWN0eXBlX291dCkNCj4gICAgICAgICE9 IFZFQ1RPUl9CT09MRUFOX1RZUEVfUCAodmVjdHlwZV9pbikpDQo+IEBAIC0zNDMxLDYgKzM0NDcs MTUgQEAgdmVjdG9yaXphYmxlX2NhbGwgKHZlY19pbmZvICp2aW5mbywNCj4gICAgICBpZm4gPSB2 ZWN0b3JpemFibGVfaW50ZXJuYWxfZnVuY3Rpb24gKGNmbiwgY2FsbGVlLCB2ZWN0eXBlX291dCwN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdHlwZV9pbik7 DQo+DQo+ICsgIGlmICghdmVjdG9yaXphYmxlX3R5cGVfc2l6ZV9sZWdhbF9wIChpZm4sIHZlY3R5 cGVfb3V0LCB2ZWN0eXBlX2luKSkNCj4gKyAgICB7DQo+ICsgICAgICBpZiAoZHVtcF9lbmFibGVk X3AgKCkpDQo+ICsgICAgICAgZHVtcF9wcmludGZfbG9jIChNU0dfTUlTU0VEX09QVElNSVpBVElP TiwgdmVjdF9sb2NhdGlvbiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICJtaXNtYXRjaGVk IHZlY3RvciBzaXplcyAlVCBhbmQgJVRcbiIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB2 ZWN0eXBlX2luLCB2ZWN0eXBlX291dCk7DQo+ICsgICAgICByZXR1cm4gZmFsc2U7DQo+ICsgICAg fQ0KPiArDQo+ICAgIC8qIElmIHRoYXQgZmFpbHMsIHRyeSBhc2tpbmcgZm9yIGEgdGFyZ2V0LXNw ZWNpZmljIGJ1aWx0LWluIGZ1bmN0aW9uLiAgKi8NCj4gICAgaWYgKGlmbiA9PSBJRk5fTEFTVCkN Cj4gICAgICB7DQo+IC0tDQo+IDIuMzQuMQ0KPg0K