From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97563 invoked by alias); 11 Oct 2019 15:33:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 97545 invoked by uid 89); 11 Oct 2019 15:33:02 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-23.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr10049.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) (40.107.1.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 11 Oct 2019 15:32:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L1nlugKXEZSexiAb51UNx0bLguMfHU6MRE/trb75PV4=; b=2RbKLYFrKNYSRBcb+IO9UTAIzqp15RMt0/ckgB1TTvDchK4Kcn4r3oKfV7wOqbDna8BSdXbV87MqCRfGAuMGxSVJh769ZU0FPA5utN+l4pqScFBltz8Gx4JZhcG5tX+Tu5iHM6ZPbzcPiLTK7dd+jY198l/6GKGuj9/5DqiRVGc= Received: from VI1PR08CA0118.eurprd08.prod.outlook.com (2603:10a6:800:d4::20) by AM0PR08MB4306.eurprd08.prod.outlook.com (2603:10a6:208:139::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.21; Fri, 11 Oct 2019 15:32:55 +0000 Received: from AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::200) by VI1PR08CA0118.outlook.office365.com (2603:10a6:800:d4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2347.16 via Frontend Transport; Fri, 11 Oct 2019 15:32:54 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT062.mail.protection.outlook.com (10.152.17.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2305.15 via Frontend Transport; Fri, 11 Oct 2019 15:32:53 +0000 Received: ("Tessian outbound 851a1162fca7:v33"); Fri, 11 Oct 2019 15:32:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 551f2bd443750a23 X-CR-MTA-TID: 64aa7808 Received: from 5a1f32c078d6.1 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.8.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0FA58990-0FBF-47A0-8594-EBE2B6E77B3F.1; Fri, 11 Oct 2019 15:32:48 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5a1f32c078d6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 11 Oct 2019 15:32:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UHV81Ubv1DGOkenUON7nsYnzuiewKHbzM+oeRlx5eqSSeuIuxL80EJFrfNlHKBZcn9PYLTYs5Uxfgmw0l2KhfIGR/5nx9wWed61GsowhzSR7uQgBI6k0tX//9RxT11CaSZOiSxGNV7rmeg6nRNOrg/8WirCmscloPSV20gwUhL+7Gs9nTNO5qMPU4EWLbekJYgLCVGP64SfS+6v7pOREQ/99qsqELLy44Y3AlzI60+vCwt0HD/OTopRBaB/EBGUAL2q1olnPyP+tEStqJBPmx3CcejKFhYLimLM2nQf0Ocwh51/rmwnG2Bz0ep4SqPeBDDfblbE+ipGxvuiImqQNug== 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-SenderADCheck; bh=L1nlugKXEZSexiAb51UNx0bLguMfHU6MRE/trb75PV4=; b=hn+0s4tYPZWwWHN+O2qrEP6d0et5ueZacnVcDJrWl+qy2tkt7wQCHmnm2lY43mdu/kWPT/R8sWRXtMNPbhDh5Fr9FQ3ETY0/QsvZSsWqt2mTZvonVCC67DR/mtavO4Ho0JgrhjsTyom8cv7y9dnfuVzPAYA+hpRSp7Mw4ow4zEGlKzzhj6CRpelISL8ntBE+r2QRkehgsvG5WHxrlC03Lb+xI1guwwoemwvdkpveqNFjrxIFpOzi7tMvlSK832PqHtWZS3cy1JOZtNx1V2VojlmhkNuRhJuUqeCNosYGXBxRuPJKvmEkD+5+3pBZgyhifBNqZyOsOWLFBaIYKdtvow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L1nlugKXEZSexiAb51UNx0bLguMfHU6MRE/trb75PV4=; b=2RbKLYFrKNYSRBcb+IO9UTAIzqp15RMt0/ckgB1TTvDchK4Kcn4r3oKfV7wOqbDna8BSdXbV87MqCRfGAuMGxSVJh769ZU0FPA5utN+l4pqScFBltz8Gx4JZhcG5tX+Tu5iHM6ZPbzcPiLTK7dd+jY198l/6GKGuj9/5DqiRVGc= Received: from DB6PR0801MB2054.eurprd08.prod.outlook.com (10.168.86.135) by DB6PR0801MB1718.eurprd08.prod.outlook.com (10.169.221.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.21; Fri, 11 Oct 2019 15:32:47 +0000 Received: from DB6PR0801MB2054.eurprd08.prod.outlook.com ([fe80::550d:a973:73ad:99b9]) by DB6PR0801MB2054.eurprd08.prod.outlook.com ([fe80::550d:a973:73ad:99b9%4]) with mapi id 15.20.2347.021; Fri, 11 Oct 2019 15:32:47 +0000 From: Joel Hutton To: GCC Patches , "rguenther@suse.de" CC: nd Subject: [SLP] SLP vectorization: vectorize vector constructors Date: Fri, 11 Oct 2019 15:34:00 -0000 Message-ID: <5edb0b00-4ae2-41c0-80ec-76de15d0b110@arm.com> user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Joel.Hutton@arm.com; x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(39850400004)(396003)(136003)(376002)(346002)(366004)(54534003)(199004)(189003)(40764003)(99936001)(6486002)(5660300002)(6436002)(478600001)(36756003)(110136005)(58126008)(316002)(4326008)(476003)(14454004)(25786009)(66446008)(64756008)(66556008)(66476007)(66616009)(66946007)(6116002)(31686004)(3846002)(6512007)(2906002)(2616005)(2501003)(486006)(66066001)(52116002)(65806001)(65956001)(4001150100001)(71200400001)(71190400001)(99286004)(31696002)(386003)(14444005)(256004)(81156014)(81166006)(7736002)(86362001)(8936002)(26005)(305945005)(186003)(102836004)(8676002)(6506007);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0801MB1718;H:DB6PR0801MB2054.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: sujIqqUa2Y6mftb+K/7SLEFY0eoQjkkwVgFHsRZg7BMgjFZeQzER0mmUz4a5D18zVvClJu6jw2oGTSKc5VdcsRHvFYkpWMlWSYKOVuHxHeLt8F8NGH60FFmda2Ytotl7PInohADGIC1ylvdLmaefHoicsOZ1Q96WmqHWVcdY1lYP9U9l/JzbLsdWPm3NpSEes9eVurj84kbKZ/f3bHoNb6Ls483HTOyirBnEVbbd53zLj8QFP/qjjS0Mmvyb7qIZeuz9hIPWeU+4yRDFbqs8gnB8b9ltK78e3zf+qxjNdovafNKtUGdulvzoDo+CAC4E+Ueu33J/v0ZSMD8QiEfcEUqCMQ6ggsVz41Qp34Gp3PvgFRWyrTLVI19w9IRMBDAxpF8kUwZcV6ax01r+UVLBi+7NWSn0hZPXL/+tKDhiRDQ= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_5edb0b004ae241c080ec76de15d0b110armcom_" MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Joel.Hutton@arm.com; Return-Path: Joel.Hutton@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 6c63fab1-d2bd-42e4-6b80-08d74e604477 X-IsSubscribed: yes X-SW-Source: 2019-10/txt/msg00849.txt.bz2 --_002_5edb0b004ae241c080ec76de15d0b110armcom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Content-length: 10009 SGkgUmljaGFyZCwNCg0KVGhhbmtzIGZvciB5b3VyIGhlbHAsIEkndmUgcmV3 b3JrZWQgbXkgU0xQIFJGQyBiYXNlZCBvbiB5b3VyIGZlZWRiYWNrLg0KID4g SSB0aGluayBhIGJldHRlciBwbGFjZSBmb3IgdGhlIGxvb3Agc2VhcmNoaW5n IGZvciBDT05TVFJVQ1RPUnMgaXMNCiA+IHZlY3Rfc2xwX2FuYWx5emVfYmJf MSB3aGVyZSBJJ2QgcHV0IGl0IGJlZm9yZSB0aGUgY2hlY2sgeW91IHJlbW92 ZSwNCiA+IGFuZCBJJ2Qgc2ltcGx5IGFwcGVuZCBmb3VuZCBDT05TVFJVQ1RP UnMgdG8gdGhlIGdyb3VwZWRfc3RvcmVzDQogPiBhcnJheQ0KSSd2ZSBtb3Zl ZCB0aGlzIGNoZWNrIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiBhbmQgY2Fs bGVkIGl0IGZyb20gDQp2ZWN0X3NscF9hbmFseXplX2JiXzENCg0KID4gVGhl IGZpeHVwIHlvdSBkbyBpbiB2ZWN0b3JpemFibGVfb3BlcmF0aW9uIGRvZXNu J3QNCiA+IGJlbG9uZyB0aGVyZSBlaXRoZXIsIEknZCBhZGQgYSBuZXcgZmll bGQgdG8gdGhlIFNMUCBpbnN0YW5jZQ0KID4gc3RydWN0dXJlIHJlZmVyaW5n IHRvIHRoZSBDT05TVFJVQ1RPUiBzdG10IGFuZCBkbyB0aGUgZml4dXANCiA+ IGluIHZlY3Rfc2NoZWR1bGVfc2xwX2luc3RhbmNlIGluc3RlYWQgd2hlcmUg eW91IGNhbiBzaW1wbHkNCiA+IHJlcGxhY2UgdGhlIENPTlNUUlVDVE9SIHdp dGggdGhlIHZlY3Rvcml6ZWQgU1NBIG5hbWUgdGhlbi4NCg0KRG9uZS4NCg0K ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIENoZWNrIHRoYXQgdGhlIGNv bnN0cnVjdG9yIGVsZW1lbnRzIGFyZSB1bmlxdWUuwqAgKi8NCiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoCBGT1JfRUFDSF9DT05TVFJVQ1RPUl9WQUxVRSAo Q09OU1RSVUNUT1JfRUxUUyAocmhzKSwgaSwgdmFsKQ0KID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB7DQogPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB0cmVlIHByZXZfdmFsOw0KID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaW50IGo7DQogPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBGT1JfRUFDSF9DT05TVFJVQ1RPUl9WQUxVRSAoQ09OU1RSVUNU T1JfRUxUUyAocmhzKSwgaiwNCiA+IHByZXZfdmFsKQ0KID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgew0KID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGlmICh2YWwgPT0gcHJldl92YWwgJiYgaSE9aikN CiA+DQogPiB3aHkncyB0aGF0IG5lY2Vzc2FyeT8gKGl0IGxvb2tzIGluY29t cGxldGUsIGFsc28gZG9lc24ndCBjYXRjaA0KID4gW2R1cGxpY2F0ZV0gY29u c3RhbnRzKQ0KDQpUaGUgdGhpbmtpbmcgd2FzIHRoYXQgdGhlcmUgd2FzIG5v IGJlbmVmaXQgaW4gdmVjdG9yaXppbmcgYSBjb25zdHJ1Y3RvciBvZg0KZHVw bGljYXRlcywgb3IgYSB2ZWN0b3Igb2YgY29uc3RhbnRzLCBhbHRob3VnaCBu b3cgeW91IG1lbnRpb24gaXQgdGhhdCANCnRoaW5raW5nDQptYXkgYmUgZmxh d2VkLiBJJ3ZlIHJlbW92ZWQgaXQNCg0KID4gWW91IG1pc3MgdG8gY2hlY2sg dGhhdCBDT05TVFJVQ1RPUl9ORUxUUyA9PSBUWVBFX1ZFQ1RPUl9TVUJQQVJU Uw0KID4gKHdlIGNhbiBoYXZlIG9taXR0ZWQgdHJhaWxpbmcgemVyb3MpLg0K Li4uDQogPiBXaGF0IGhhcHBlbnMgaWYgeW91IGhhdmUgYSB2ZWN0b3IgY29u c3RydWN0b3IgdGhhdCBpcyB0d2ljZQ0KID4gYXMgbGFyZ2UgYXMgdGhlIG1h Y2hpbmUgc3VwcG9ydHM/wqAgVGhlIHZlY3Rvcml6ZXIgd2lsbCBoYXBwaWx5 DQogPiBwcm9kdWNlIGEgdHdvIHZlY3RvciBTU0EgbmFtZSB2ZWN0b3JpemVk IHJlc3VsdCBidXQgeW91cg0KID4gQ09OU1RSVUNUT1IgcmVwbGFjZW1lbnQg ZG9lc24ndCB3b3JrIGhlcmUuwqAgSSB0aGluayB0aGlzIHNob3VsZA0KID4g YmUgbWFkZSB3b3JrIGNvcnJlY3RseSAobm90IGdpdmUgdXAgb24gdGhhdCBj YXNlKS4NCg0KSSd2ZSByZXdvcmtlZCB0aGUgcGF0Y2ggdG8gYWNjb3VudCBm b3IgdGhpcywgYnkgY2hlY2tpbmcgdGhhdCB0aGUgDQp2ZWN0b3JpemVkIHZl cnNpb24NCmhhcyBvbmUgdmVjdG9yaXplZCBzdG10IGF0IHRoZSByb290IG9m IHRoZSBTTFAgdHJlZS4gSSdtIG5vdCBzdXJlIGhvdyB0byANCmhhbmRsZQ0K YSB2ZWN0b3IgY29uc3RydWN0b3IgdHdpY2UgYXMgbGFyZ2UgYXMgdGhlIG1h Y2hpbmUgc3VwcG9ydHMsIGFzIGZhciBhcyBJIA0KY2FuIHNlZSwNCndoZW4g b25seSBhbmFseXppbmcgYSB3aXRoaW4gYSBiYXNpYyBibG9jaywgdGhlIFNT QSBuYW1lIG9mIHRoZSANCmNvbnN0cnVjdG9yIGhhcyB0bw0KYmUgbWFpbnRh aW5lZC4NCg0KDQpDdXJyZW50bHkgU0xQIHZlY3Rvcml6YXRpb24gY2FuIGJ1 aWxkIFNMUCB0cmVlcyBzdGFydGluZyBmcm9tIHJlZHVjdGlvbnMgb3INCmZy b20gZ3JvdXAgc3RvcmVzLiBUaGlzIHBhdGNoIGFkZHMgYSB0aGlyZCBzdGFy dGluZyBwb2ludDogdmVjdG9yIA0KY29uc3RydWN0b3JzLg0KDQpGb3IgdGhl IGZvbGxvd2luZyB0ZXN0IGNhc2UgKGNvbXBpbGVkIHdpdGggLU8zKToNCg0K Y2hhciBnX2RbMTAyNF0sIGdfczFbMTAyNF0sIGdfczJbMTAyNF07DQp2b2lk IHRlc3RfbG9vcCh2b2lkKQ0Kew0KIMKgIGNoYXIgZCA9IGdfZCwgczEgPSBn X3MxLCAqczIgPSBnX3MyOw0KIMKgIGZvciAoIGludCB5ID0gMDsgeSA8IDEy ODsgeSsrICkNCg0KIMKgIHsNCiDCoMKgwqAgZm9yICggaW50IHggPSAwOyB4 IDwgMTY7IHgrKyApDQogwqDCoMKgwqDCoCBkW3hdID0gczFbeF0gKyBzMlt4 XTsNCiDCoMKgwqAgZCArPSAxNjsNCiDCoCB9DQp9DQoNCmJlZm9yZSBwYXRj aDoNCnRlc3RfbG9vcDoNCi5MRkIwOg0KIMKgwqDCoMKgwqDCoMKgIC5jZmlf c3RhcnRwcm9jDQogwqDCoMKgwqDCoMKgwqAgYWRycMKgwqDCoCB4MCwgZ19z MQ0KIMKgwqDCoMKgwqDCoMKgIGFkcnDCoMKgwqAgeDIsIGdfczINCiDCoMKg wqDCoMKgwqDCoCBhZGTCoMKgwqDCoCB4MywgeDAsIDpsbzEyOmdfczENCiDC oMKgwqDCoMKgwqDCoCBhZGTCoMKgwqDCoCB4NCwgeDIsIDpsbzEyOmdfczIN CiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHc3LCBbeDIsICM6bG8xMjpn X3MyXQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzEsIFt4MCwgIzps bzEyOmdfczFdDQogwqDCoMKgwqDCoMKgwqAgYWRycMKgwqDCoCB4MCwgZ19k DQogwqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3NiwgW3g0LCAxXQ0KIMKg wqDCoMKgwqDCoMKgIGFkZMKgwqDCoMKgIHgwLCB4MCwgOmxvMTI6Z19kDQog wqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3NSwgW3gzLCAxXQ0KIMKgwqDC oMKgwqDCoMKgIGFkZMKgwqDCoMKgIHcxLCB3MSwgdzcNCiDCoMKgwqDCoMKg wqDCoCBmbW92wqDCoMKgIHMwLCB3MQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLC oMKgwqAgdzcsIFt4NCwgMl0NCiDCoMKgwqDCoMKgwqDCoCBhZGTCoMKgwqDC oCB3NSwgdzUsIHc2DQogwqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3MSwg W3gzLCAyXQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzYsIFt4NCwg M10NCiDCoMKgwqDCoMKgwqDCoCBhZGTCoMKgwqDCoCB4MiwgeDAsIDIwNDgN CiDCoMKgwqDCoMKgwqDCoCBpbnPCoMKgwqDCoCB2MC5iWzFdLCB3NQ0KIMKg wqDCoMKgwqDCoMKgIGFkZMKgwqDCoMKgIHcxLCB3MSwgdzcNCiDCoMKgwqDC oMKgwqDCoCBsZHJiwqDCoMKgIHc3LCBbeDMsIDNdDQogwqDCoMKgwqDCoMKg wqAgbGRyYsKgwqDCoCB3NSwgW3g0LCA0XQ0KIMKgwqDCoMKgwqDCoMKgIGFk ZMKgwqDCoMKgIHc3LCB3NywgdzYNCiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDC oMKgIHc2LCBbeDMsIDRdDQogwqDCoMKgwqDCoMKgwqAgaW5zwqDCoMKgwqAg djAuYlsyXSwgdzENCiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHc4LCBb eDQsIDVdDQogwqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgdzYsIHc2LCB3 NQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzUsIFt4MywgNV0NCiDC oMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHc5LCBbeDQsIDZdDQogwqDCoMKg wqDCoMKgwqAgYWRkwqDCoMKgwqAgdzUsIHc1LCB3OA0KIMKgwqDCoMKgwqDC oMKgIGxkcmLCoMKgwqAgdzEsIFt4MywgNl0NCiDCoMKgwqDCoMKgwqDCoCBp bnPCoMKgwqDCoCB2MC5iWzNdLCB3Nw0KIMKgwqDCoMKgwqDCoMKgIGxkcmLC oMKgwqAgdzgsIFt4NCwgN10NCiDCoMKgwqDCoMKgwqDCoCBhZGTCoMKgwqDC oCB3MSwgdzEsIHc5DQogwqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3MTEs IFt4MywgN10NCiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHc3LCBbeDQs IDhdDQogwqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgdzExLCB3MTEsIHc4 DQogwqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3MTAsIFt4MywgOF0NCiDC oMKgwqDCoMKgwqDCoCBpbnPCoMKgwqDCoCB2MC5iWzRdLCB3Ng0KIMKgwqDC oMKgwqDCoMKgIGxkcmLCoMKgwqAgdzgsIFt4NCwgOV0NCiDCoMKgwqDCoMKg wqDCoCBhZGTCoMKgwqDCoCB3MTAsIHcxMCwgdzcNCiDCoMKgwqDCoMKgwqDC oCBsZHJiwqDCoMKgIHc5LCBbeDMsIDldDQogwqDCoMKgwqDCoMKgwqAgbGRy YsKgwqDCoCB3NywgW3g0LCAxMF0NCiDCoMKgwqDCoMKgwqDCoCBhZGTCoMKg wqDCoCB3OSwgdzksIHc4DQogwqDCoMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3 OCwgW3gzLCAxMF0NCiDCoMKgwqDCoMKgwqDCoCBpbnPCoMKgwqDCoCB2MC5i WzVdLCB3NQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzYsIFt4NCwg MTFdDQogwqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgdzgsIHc4LCB3Nw0K IMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzcsIFt4MywgMTFdDQogwqDC oMKgwqDCoMKgwqAgbGRyYsKgwqDCoCB3NSwgW3g0LCAxMl0NCiDCoMKgwqDC oMKgwqDCoCBhZGTCoMKgwqDCoCB3NywgdzcsIHc2DQogwqDCoMKgwqDCoMKg wqAgbGRyYsKgwqDCoCB3NiwgW3gzLCAxMl0NCiDCoMKgwqDCoMKgwqDCoCBp bnPCoMKgwqDCoCB2MC5iWzZdLCB3MQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLC oMKgwqAgdzEyLCBbeDQsIDEzXQ0KIMKgwqDCoMKgwqDCoMKgIGFkZMKgwqDC oMKgIHc2LCB3NiwgdzUNCiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHc1 LCBbeDMsIDEzXQ0KIMKgwqDCoMKgwqDCoMKgIGxkcmLCoMKgwqAgdzEsIFt4 MywgMTRdDQogwqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgdzUsIHc1LCB3 MTINCiDCoMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHcxMywgW3g0LCAxNF0N CiDCoMKgwqDCoMKgwqDCoCBpbnPCoMKgwqDCoCB2MC5iWzddLCB3MTENCiDC oMKgwqDCoMKgwqDCoCBsZHJiwqDCoMKgIHcxMiwgW3g0LCAxNV0NCiDCoMKg wqDCoMKgwqDCoCBhZGTCoMKgwqDCoCB3NCwgdzEsIHcxMw0KIMKgwqDCoMKg wqDCoMKgIGxkcmLCoMKgwqAgdzEsIFt4MywgMTVdDQogwqDCoMKgwqDCoMKg wqAgYWRkwqDCoMKgwqAgdzEsIHcxLCB3MTINCiDCoMKgwqDCoMKgwqDCoCBp bnPCoMKgwqDCoCB2MC5iWzhdLCB3MTANCiDCoMKgwqDCoMKgwqDCoCBpbnPC oMKgwqDCoCB2MC5iWzldLCB3OQ0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDC oMKgIHYwLmJbMTBdLCB3OA0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDCoMKg IHYwLmJbMTFdLCB3Nw0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDCoMKgIHYw LmJbMTJdLCB3Ng0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDCoMKgIHYwLmJb MTNdLCB3NQ0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDCoMKgIHYwLmJbMTRd LCB3NA0KIMKgwqDCoMKgwqDCoMKgIGluc8KgwqDCoMKgIHYwLmJbMTVdLCB3 MQ0KIMKgwqDCoMKgwqDCoMKgIC5wMmFsaWduIDMsLDcNCi5MMjoNCiDCoMKg wqDCoMKgwqDCoCBzdHLCoMKgwqDCoCBxMCwgW3gwXSwgMTYNCiDCoMKgwqDC oMKgwqDCoCBjbXDCoMKgwqDCoCB4MiwgeDANCiDCoMKgwqDCoMKgwqDCoCBi bmXCoMKgwqDCoCAuTDINCiDCoMKgwqDCoMKgwqDCoCByZXQNCiDCoMKgwqDC oMKgwqDCoCAuY2ZpX2VuZHByb2MNCi5MRkUwOg0KDQpBZnRlciBwYXRjaDoN Cg0KdGVzdF9sb29wOg0KLkxGQjA6DQogwqDCoMKgwqDCoMKgwqAgLmNmaV9z dGFydHByb2MNCiDCoMKgwqDCoMKgwqDCoCBhZHJwwqDCoMKgIHgzLCBnX3Mx DQogwqDCoMKgwqDCoMKgwqAgYWRycMKgwqDCoCB4MiwgZ19zMg0KIMKgwqDC oMKgwqDCoMKgIGFkZMKgwqDCoMKgIHgzLCB4MywgOmxvMTI6Z19zMQ0KIMKg wqDCoMKgwqDCoMKgIGFkZMKgwqDCoMKgIHgyLCB4MiwgOmxvMTI6Z19zMg0K IMKgwqDCoMKgwqDCoMKgIGFkcnDCoMKgwqAgeDAsIGdfZA0KIMKgwqDCoMKg wqDCoMKgIGFkZMKgwqDCoMKgIHgwLCB4MCwgOmxvMTI6Z19kDQogwqDCoMKg wqDCoMKgwqAgYWRkwqDCoMKgwqAgeDEsIHgwLCAyMDQ4DQogwqDCoMKgwqDC oMKgwqAgbGRywqDCoMKgwqAgcTEsIFt4Ml0NCiDCoMKgwqDCoMKgwqDCoCBs ZHLCoMKgwqDCoCBxMCwgW3gzXQ0KIMKgwqDCoMKgwqDCoMKgIGFkZMKgwqDC oMKgIHYwLjE2YiwgdjAuMTZiLCB2MS4xNmINCiDCoMKgwqDCoMKgwqDCoCAu cDJhbGlnbiAzLCw3DQouTDI6DQogwqDCoMKgwqDCoMKgwqAgc3RywqDCoMKg wqAgcTAsIFt4MF0sIDE2DQogwqDCoMKgwqDCoMKgwqAgY21wwqDCoMKgwqAg eDAsIHgxDQogwqDCoMKgwqDCoMKgwqAgYm5lwqDCoMKgwqAgLkwyDQogwqDC oMKgwqDCoMKgwqAgcmV0DQogwqDCoMKgwqDCoMKgwqAgLmNmaV9lbmRwcm9j DQouTEZFMDoNCg0KDQoyMDE5LTEwLTExwqAgSm9lbCBIdXR0b27CoCBKb2Vs Lkh1dHRvbkBhcm0uY29tDQoNCiDCoMKgwqAgKiB0cmVlLXZlY3Qtc2xwLmMg KHZlY3RfYW5hbHl6ZV9zbHBfaW5zdGFuY2UpOiBBZGQgY2FzZSBmb3IgdmVj dG9yIA0KY29uc3RydWN0b3JzLg0KIMKgwqDCoCAodmVjdF9iYl9zbHBfc2Nh bGFyX2Nvc3QpOiBMaWtld2lzZS4NCiDCoMKgwqAgKHZlY3Rfc3NhX3VzZV9v dXRzaWRlX2JiKTogTmV3IGZ1bmN0aW9uLg0KIMKgwqDCoCAodmVjdF9zbHBf Y2hlY2tfZm9yX2NvbnN0cnVjdG9ycyk6IE5ldyBmdW5jdGlvbi4NCiDCoMKg wqAgKHZlY3Rfc2xwX2FuYWx5emVfYmJfMSk6IEFkZCBjaGVjayBmb3IgdmVj dG9yIGNvbnN0cnVjdG9ycy4NCiDCoMKgwqAgKHZlY3Rfc2NoZWR1bGVfc2xw X2luc3RhbmNlKTogQWRkIGNhc2UgdG8gZml4dXAgdmVjdG9yIGNvbnN0cnVj dG9yIA0Kc3RtdC4NCiDCoMKgwqAgKiB0cmVlLXZlY3Rvcml6ZXIuaCAoU0xQ X0lOU1RBTkNFX1JPT1RfU1RNVCk6IE5ldyBmaWVsZC4NCg0KDQpnY2MvdGVz dHN1aXRlL0NoYW5nZUxvZzoNCg0KMjAxOS0xMC0xMcKgIEpvZWwgSHV0dG9u wqAgSm9lbC5IdXR0b25AYXJtLmNvbQ0KDQogwqDCoMKgICogZ2NjLmRnL3Zl Y3QvYmItc2xwLTQwLmM6IE5ldyB0ZXN0Lg0KDQpib290c3RyYXBwZWQgYW5k IHJlZ3Jlc3Npb24gdGVzdGVkIG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUN Cg== --_002_5edb0b004ae241c080ec76de15d0b110armcom_ Content-Type: text/x-patch; name="0001-SLP-Vectorization-Vectorize-Vector-Constructors.patch" Content-Description: 0001-SLP-Vectorization-Vectorize-Vector-Constructors.patch Content-Disposition: attachment; filename="0001-SLP-Vectorization-Vectorize-Vector-Constructors.patch"; size=9102; creation-date="Fri, 11 Oct 2019 15:32:46 GMT"; modification-date="Fri, 11 Oct 2019 15:32:46 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 12339 RnJvbSAyYmM1N2MxN2ZhYTFkZDQ5NGVkMzg5ODI5OGU5ZmJlOTFmOGE4Njc1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogSm9lbCBIdXR0b24g PEpvZWwuSHV0dG9uQGFybS5jb20+DQpEYXRlOiBXZWQsIDIgT2N0IDIwMTkg MTc6Mzg6NTMgKzAxMDANClN1YmplY3Q6IFtQQVRDSF0gU0xQIFZlY3Rvcml6 YXRpb246IFZlY3Rvcml6ZSBWZWN0b3IgQ29uc3RydWN0b3JzDQoNCi0tLQ0K IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvYmItc2xwLTQwLmMgfCAgMzMg KysrKysrKw0KIGdjYy90cmVlLXZlY3Qtc2xwLmMgICAgICAgICAgICAgICAg ICAgfCAxMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBnY2MvdHJl ZS12ZWN0b3JpemVyLmggICAgICAgICAgICAgICAgIHwgICA1ICsNCiAzIGZp bGVzIGNoYW5nZWQsIDE2NSBpbnNlcnRpb25zKCspDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvYmItc2xwLTQwLmMN Cg0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvYmIt c2xwLTQwLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L2JiLXNscC00 MC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE1NjZiNzE2YmNkYTJm ZTgyZjUwYzUwZTllOTY4NWNiM2ViMTBhZQ0KLS0tIC9kZXYvbnVsbA0KKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC9iYi1zbHAtNDAuYw0KQEAg LTAsMCArMSwzMyBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyog eyBkZy1vcHRpb25zICItTzMgLWZkdW1wLXRyZWUtc2xwLWFsbCIgfSAqLw0K Ky8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfaW50IH0g Ki8NCisNCitjaGFyIGdfZFsxMDI0XSwgZ19zMVsxMDI0XSwgZ19zMlsxMDI0 XTsNCit2b2lkIGZvbyh2b2lkKQ0KK3sNCisgICAgY2hhciAqZCA9IGdfZCwg KnMxID0gZ19zMSwgKnMyID0gZ19zMjsNCisNCisgICAgZm9yICggaW50IHkg PSAwOyB5IDwgMTI4OyB5KysgKQ0KKyAgICB7DQorICAgICAgZFswIF0gPSBz MVswIF0gKyBzMlswIF07DQorICAgICAgZFsxIF0gPSBzMVsxIF0gKyBzMlsx IF07DQorICAgICAgZFsyIF0gPSBzMVsyIF0gKyBzMlsyIF07DQorICAgICAg ZFszIF0gPSBzMVszIF0gKyBzMlszIF07DQorICAgICAgZFs0IF0gPSBzMVs0 IF0gKyBzMls0IF07DQorICAgICAgZFs1IF0gPSBzMVs1IF0gKyBzMls1IF07 DQorICAgICAgZFs2IF0gPSBzMVs2IF0gKyBzMls2IF07DQorICAgICAgZFs3 IF0gPSBzMVs3IF0gKyBzMls3IF07DQorICAgICAgZFs4IF0gPSBzMVs4IF0g KyBzMls4IF07DQorICAgICAgZFs5IF0gPSBzMVs5IF0gKyBzMls5IF07DQor ICAgICAgZFsxMF0gPSBzMVsxMF0gKyBzMlsxMF07DQorICAgICAgZFsxMV0g PSBzMVsxMV0gKyBzMlsxMV07DQorICAgICAgZFsxMl0gPSBzMVsxMl0gKyBz MlsxMl07DQorICAgICAgZFsxM10gPSBzMVsxM10gKyBzMlsxM107DQorICAg ICAgZFsxNF0gPSBzMVsxNF0gKyBzMlsxNF07DQorICAgICAgZFsxNV0gPSBz MVsxNV0gKyBzMlsxNV07DQorICAgICAgZCArPSAxNjsNCisgICAgfQ0KK30N CisNCisvKiBTZWUgdGhhdCB3ZSB2ZWN0b3JpemUgYW4gU0xQIGluc3RhbmNl LiAgKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMg InZlY3Rvcml6aW5nIHN0bXRzIHVzaW5nIFNMUCIgMSAic2xwMSIgfSB9ICov DQpkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1zbHAuYyBiL2djYy90cmVl LXZlY3Qtc2xwLmMNCmluZGV4IDliODZiNjc3MzRhZDNlMzUwNmU5Y2VlNmE1 MzJiNjhkZWNmMjRhZTYuLmM0ZDQ1MmUzZGZkNDZhY2RhYTk0ZGMwNDdlNGM2 MTE0ZDgyOTU0NTggMTAwNjQ0DQotLS0gYS9nY2MvdHJlZS12ZWN0LXNscC5j DQorKysgYi9nY2MvdHJlZS12ZWN0LXNscC5jDQpAQCAtMTkyMiw2ICsxOTIy LDcgQEAgdmVjdF9hbmFseXplX3NscF9pbnN0YW5jZSAodmVjX2luZm8gKnZp bmZvLA0KICAgdW5zaWduZWQgaW50IGk7DQogICBzdHJ1Y3QgZGF0YV9yZWZl cmVuY2UgKmRyID0gU1RNVF9WSU5GT19EQVRBX1JFRiAoc3RtdF9pbmZvKTsN CiAgIHZlYzxzdG10X3ZlY19pbmZvPiBzY2FsYXJfc3RtdHM7DQorICBib29s IGNvbnN0cnVjdG9yID0gZmFsc2U7DQogDQogICBpZiAoU1RNVF9WSU5GT19H Uk9VUEVEX0FDQ0VTUyAoc3RtdF9pbmZvKSkNCiAgICAgew0KQEAgLTE5MzUs NiArMTkzNiwxMyBAQCB2ZWN0X2FuYWx5emVfc2xwX2luc3RhbmNlICh2ZWNf aW5mbyAqdmluZm8sDQogICAgICAgdmVjdHlwZSA9IFNUTVRfVklORk9fVkVD VFlQRSAoc3RtdF9pbmZvKTsNCiAgICAgICBncm91cF9zaXplID0gUkVEVUNf R1JPVVBfU0laRSAoc3RtdF9pbmZvKTsNCiAgICAgfQ0KKyAgZWxzZSBpZiAo aXNfZ2ltcGxlX2Fzc2lnbiAoc3RtdF9pbmZvLT5zdG10KQ0KKwkgICAgJiYg Z2ltcGxlX2Fzc2lnbl9yaHNfY29kZSAoc3RtdF9pbmZvLT5zdG10KSA9PSBD T05TVFJVQ1RPUikNCisgICAgew0KKyAgICAgIHZlY3R5cGUgPSBUUkVFX1RZ UEUgKGdpbXBsZV9hc3NpZ25fcmhzMSAoc3RtdF9pbmZvLT5zdG10KSk7DQor ICAgICAgZ3JvdXBfc2l6ZSA9IENPTlNUUlVDVE9SX05FTFRTIChnaW1wbGVf YXNzaWduX3JoczEgKHN0bXRfaW5mby0+c3RtdCkpOw0KKyAgICAgIGNvbnN0 cnVjdG9yID0gdHJ1ZTsNCisgICAgfQ0KICAgZWxzZQ0KICAgICB7DQogICAg ICAgZ2NjX2Fzc2VydCAoaXNfYSA8bG9vcF92ZWNfaW5mbz4gKHZpbmZvKSk7 DQpAQCAtMTk4MSw2ICsxOTg5LDI1IEBAIHZlY3RfYW5hbHl6ZV9zbHBfaW5z dGFuY2UgKHZlY19pbmZvICp2aW5mbywNCiAgICAgICBTVE1UX1ZJTkZPX1JF RFVDX0RFRiAodmVjdF9vcmlnX3N0bXQgKHN0bXRfaW5mbykpDQogCT0gU1RN VF9WSU5GT19SRURVQ19ERUYgKHZlY3Rfb3JpZ19zdG10IChzY2FsYXJfc3Rt dHMubGFzdCAoKSkpOw0KICAgICB9DQorICBlbHNlIGlmIChjb25zdHJ1Y3Rv cikNCisgICAgew0KKyAgICAgIHRyZWUgcmhzID0gZ2ltcGxlX2Fzc2lnbl9y aHMxIChzdG10X2luZm8tPnN0bXQpOw0KKyAgICAgIHRyZWUgdmFsOw0KKyAg ICAgIEZPUl9FQUNIX0NPTlNUUlVDVE9SX1ZBTFVFIChDT05TVFJVQ1RPUl9F TFRTIChyaHMpLCBpLCB2YWwpDQorCXsNCisJICBpZiAoVFJFRV9DT0RFICh2 YWwpID09IFNTQV9OQU1FKQ0KKwkgICAgew0KKwkgICAgICBnaW1wbGUqIGRl ZiA9IFNTQV9OQU1FX0RFRl9TVE1UICh2YWwpOw0KKwkgICAgICBzdG10X3Zl Y19pbmZvIGRlZl9pbmZvID0gdmluZm8tPmxvb2t1cF9zdG10IChkZWYpOw0K KwkgICAgICAvKiBWYWx1ZSBpcyBkZWZpbmVkIGluIGFub3RoZXIgYmFzaWMg YmxvY2suICAqLw0KKwkgICAgICBpZiAoIWRlZl9pbmZvKQ0KKwkJcmV0dXJu IGZhbHNlOw0KKwkgICAgICBzY2FsYXJfc3RtdHMuc2FmZV9wdXNoIChkZWZf aW5mbyk7DQorCSAgICB9DQorCSAgZWxzZQ0KKwkgICAgcmV0dXJuIGZhbHNl Ow0KKwl9DQorICAgIH0NCiAgIGVsc2UNCiAgICAgew0KICAgICAgIC8qIENv bGxlY3QgcmVkdWN0aW9uIHN0YXRlbWVudHMuICAqLw0KQEAgLTIwMzgsNiAr MjA2NSwxNCBAQCB2ZWN0X2FuYWx5emVfc2xwX2luc3RhbmNlICh2ZWNfaW5m byAqdmluZm8sDQogCSAgU0xQX0lOU1RBTkNFX0dST1VQX1NJWkUgKG5ld19p bnN0YW5jZSkgPSBncm91cF9zaXplOw0KIAkgIFNMUF9JTlNUQU5DRV9VTlJP TExJTkdfRkFDVE9SIChuZXdfaW5zdGFuY2UpID0gdW5yb2xsaW5nX2ZhY3Rv cjsNCiAJICBTTFBfSU5TVEFOQ0VfTE9BRFMgKG5ld19pbnN0YW5jZSkgPSB2 TlVMTDsNCisNCisJICBpZiAoY29uc3RydWN0b3IpDQorCSAgICB7DQorCSAg ICAgIFNMUF9JTlNUQU5DRV9ST09UX1NUTVQgKG5ld19pbnN0YW5jZSkgPSBz dG10X2luZm8tPnN0bXQ7DQorCSAgICB9DQorCSAgZWxzZQ0KKwkgICAgU0xQ X0lOU1RBTkNFX1JPT1RfU1RNVCAobmV3X2luc3RhbmNlKSA9IE5VTEw7DQor DQogCSAgdmVjdF9nYXRoZXJfc2xwX2xvYWRzIChuZXdfaW5zdGFuY2UsIG5v ZGUpOw0KIAkgIGlmIChkdW1wX2VuYWJsZWRfcCAoKSkNCiAJICAgIGR1bXBf cHJpbnRmX2xvYyAoTVNHX05PVEUsIHZlY3RfbG9jYXRpb24sDQpAQCAtMjcy NSw2ICsyNzYwLDEwIEBAIHZlY3RfYmJfc2xwX3NjYWxhcl9jb3N0IChiYXNp Y19ibG9jayBiYiwNCiAJCXN0bXRfdmVjX2luZm8gdXNlX3N0bXRfaW5mbyA9 IHZpbmZvLT5sb29rdXBfc3RtdCAodXNlX3N0bXQpOw0KIAkJaWYgKCF1c2Vf c3RtdF9pbmZvIHx8ICFQVVJFX1NMUF9TVE1UICh1c2Vfc3RtdF9pbmZvKSkN CiAJCSAgew0KKwkJICAgIC8qIENoZWNrIHRoaXMgaXMgbm90IGEgY29uc3Ry dWN0b3IgdGhhdCB3aWxsIGJlIHZlY3Rvcml6ZWQNCisJCSAgICAgICBhd2F5 LiAgKi8NCisJCSAgICBpZiAoQkJfVklORk9fR1JPVVBFRF9TVE9SRVMgKHZp bmZvKS5jb250YWlucyAodXNlX3N0bXRfaW5mbykpDQorCQkJY29udGludWU7 DQogCQkgICAgKCpsaWZlKVtpXSA9IHRydWU7DQogCQkgICAgQlJFQUtfRlJP TV9JTU1fVVNFX1NUTVQgKHVzZV9pdGVyKTsNCiAJCSAgfQ0KQEAgLTI4MzYs NiArMjg3NSw3MiBAQCB2ZWN0X2JiX3ZlY3Rvcml6YXRpb25fcHJvZml0YWJs ZV9wIChiYl92ZWNfaW5mbyBiYl92aW5mbykNCiAgIHJldHVybiB0cnVlOw0K IH0NCiANCitzdGF0aWMgYm9vbA0KK3ZlY3Rfc3NhX3VzZV9vdXRzaWRlX2Ji ICh0cmVlIHNzYSkNCit7DQorICBpbW1fdXNlX2l0ZXJhdG9yIHVzZV9pdGVy Ow0KKyAgZ2ltcGxlICp1c2Vfc3RtdDsNCisgIGJvb2wgdXNlX291dHNpZGVf b2ZfYmxvY2sgPSBmYWxzZTsNCisgIGdjY19jaGVja2luZ19hc3NlcnQgKFRS RUVfQ09ERSAoc3NhKSA9PSBTU0FfTkFNRSk7DQorICBnaW1wbGUqIGRlZiA9 IFNTQV9OQU1FX0RFRl9TVE1UIChzc2EpOw0KKw0KKyAgRk9SX0VBQ0hfSU1N X1VTRV9TVE1UICh1c2Vfc3RtdCwgdXNlX2l0ZXIsIHNzYSkNCisgIHsNCisg ICAgaWYgKHVzZV9zdG10LT5iYiAhPSBkZWYtPmJiKQ0KKyAgICB7DQorICAg ICAgdXNlX291dHNpZGVfb2ZfYmxvY2sgPSB0cnVlOw0KKyAgICAgIEJSRUFL X0ZST01fSU1NX1VTRV9TVE1UICh1c2VfaXRlcik7DQorICAgIH0NCisgICAg LyogSW4gdGhlIGZvbGxvd2luZyBwYXR0ZXJuLCB3ZSBjb25zaWRlciBfMSBh bmQgdmVjdF8xDQorICAgICAgIGVxdWl2YWxlbnQuDQorICAgICAgIF8xID0g e2EsYixjfQ0KKyAgICAgICB2ZWN0XzEgPSBfMSAgKi8NCisgICAgZWxzZSBp ZiAoaXNfZ2ltcGxlX2Fzc2lnbiAodXNlX3N0bXQpDQorCSAgICAgJiYgZ2lt cGxlX2Fzc2lnbl9yaHNfY29kZSAodXNlX3N0bXQpID09IFNTQV9OQU1FDQor CSAgICAgJiYgVFJFRV9DT0RFIChnaW1wbGVfYXNzaWduX2xocyAodXNlX3N0 bXQpKSA9PSBTU0FfTkFNRSkNCisgICAgew0KKyAgICAgIHVzZV9vdXRzaWRl X29mX2Jsb2NrID0gdmVjdF9zc2FfdXNlX291dHNpZGVfYmIgKGdpbXBsZV9h c3NpZ25fbGhzICh1c2Vfc3RtdCkpOw0KKyAgICAgIEJSRUFLX0ZST01fSU1N X1VTRV9TVE1UICh1c2VfaXRlcik7DQorICAgIH0NCisgICAgZWxzZQ0KKyAg ICAgIEJSRUFLX0ZST01fSU1NX1VTRV9TVE1UICh1c2VfaXRlcik7DQorICB9 DQorICByZXR1cm4gdXNlX291dHNpZGVfb2ZfYmxvY2s7DQorfQ0KKw0KK3N0 YXRpYyB2b2lkDQordmVjdF9zbHBfY2hlY2tfZm9yX2NvbnN0cnVjdG9ycyAo YmJfdmVjX2luZm8gYmJfdmluZm8pDQorew0KKyAgZ2ltcGxlX3N0bXRfaXRl cmF0b3IgZ3NpOw0KKw0KKyAgZm9yIChnc2kgPSBiYl92aW5mby0+cmVnaW9u X2JlZ2luOw0KKyAgICAgIGdzaV9zdG10IChnc2kpICE9IGdzaV9zdG10IChi Yl92aW5mby0+cmVnaW9uX2VuZCk7IGdzaV9uZXh0ICgmZ3NpKSkNCisgICAg ew0KKyAgICAgIGdpbXBsZSAqc3RtdCA9IGdzaV9zdG10IChnc2kpOw0KKyAg ICAgIGJvb2wgdmVjdG9yaXphYmxlID0gdHJ1ZTsNCisNCisgICAgICBpZiAo aXNfZ2ltcGxlX2Fzc2lnbiAoc3RtdCkNCisJICAmJiBnaW1wbGVfYXNzaWdu X3Joc19jb2RlIChzdG10KSA9PSBDT05TVFJVQ1RPUg0KKwkgICYmIFRSRUVf Q09ERSAoZ2ltcGxlX2Fzc2lnbl9saHMgKHN0bXQpKSA9PSBTU0FfTkFNRQ0K KwkgICYmIFRSRUVfQ09ERSAoVFJFRV9UWVBFIChnaW1wbGVfYXNzaWduX2xo cyAoc3RtdCkpKSA9PSBWRUNUT1JfVFlQRSkNCisJew0KKwkgIHRyZWUgcmhz ID0gZ2ltcGxlX2Fzc2lnbl9yaHMxIChzdG10KTsNCisNCisJICBpZiAoQ09O U1RSVUNUT1JfTkVMVFMgKHJocykgPT0gMCkNCisJICAgIHZlY3Rvcml6YWJs ZSA9IGZhbHNlOw0KKw0KKwkgIGlmICghdmVjdF9zc2FfdXNlX291dHNpZGVf YmIgKGdpbXBsZV9hc3NpZ25fbGhzIChzdG10KSkpDQorCSAgICB2ZWN0b3Jp emFibGUgPSBmYWxzZTsNCisNCisJICBpZiAodmVjdG9yaXphYmxlKQ0KKwkg ICAgew0KKwkgICAgICBzdG10X3ZlY19pbmZvIHN0bXRfaW5mbyA9IGJiX3Zp bmZvLT5sb29rdXBfc3RtdCAoc3RtdCk7DQorCSAgICAgIEJCX1ZJTkZPX0dS T1VQRURfU1RPUkVTIChiYl92aW5mbykuc2FmZV9wdXNoIChzdG10X2luZm8p Ow0KKwkgICAgfQ0KKwl9DQorICAgIH0NCit9DQorDQogLyogQ2hlY2sgaWYg dGhlIGJhc2ljIGJsb2NrIGNhbiBiZSB2ZWN0b3JpemVkLiAgUmV0dXJucyBh IGJiX3ZlY19pbmZvDQogICAgaWYgc28gYW5kIHNldHMgZmF0YWwgdG8gdHJ1 ZSBpZiBmYWlsdXJlIGlzIGluZGVwZW5kZW50IG9mDQogICAgY3VycmVudF92 ZWN0b3Jfc2l6ZS4gICovDQpAQCAtMjkwOCw2ICszMDEzLDggQEAgdmVjdF9z bHBfYW5hbHl6ZV9iYl8xIChnaW1wbGVfc3RtdF9pdGVyYXRvciByZWdpb25f YmVnaW4sDQogICAgICAgcmV0dXJuIE5VTEw7DQogICAgIH0NCiANCisgIHZl Y3Rfc2xwX2NoZWNrX2Zvcl9jb25zdHJ1Y3RvcnMgKGJiX3ZpbmZvKTsNCisN CiAgIC8qIElmIHRoZXJlIGFyZSBubyBncm91cGVkIHN0b3JlcyBpbiB0aGUg cmVnaW9uIHRoZXJlIGlzIG5vIG5lZWQNCiAgICAgIHRvIGNvbnRpbnVlIHdp dGggcGF0dGVybiByZWNvZyBhcyB2ZWN0X2FuYWx5emVfc2xwIHdpbGwgZmFp bA0KICAgICAgYW55d2F5LiAgKi8NCkBAIC00MDUzLDYgKzQxNjAsMjYgQEAg dmVjdF9zY2hlZHVsZV9zbHBfaW5zdGFuY2UgKHNscF90cmVlIG5vZGUsIHNs cF9pbnN0YW5jZSBpbnN0YW5jZSwNCiAJRk9SX0VBQ0hfVkVDX0VMVCAoU0xQ X1RSRUVfU0NBTEFSX1NUTVRTIChjaGlsZCksIGosIGNoaWxkX3N0bXRfaW5m bykNCiAJICBTVE1UX1ZJTkZPX0RFRl9UWVBFIChjaGlsZF9zdG10X2luZm8p ID0gdmVjdF9pbnRlcm5hbF9kZWY7DQogICAgICAgfQ0KKw0KKyAgLyogRm9y IHZlY3RvciBjb25zdHJ1Y3RvcnMsIHRoZSBzYW1lIFNTQSBuYW1lIG11c3Qg YmUgdXNlZCB0byBtYWludGFpbiBkYXRhDQorICAgICBmbG93IGludG8gb3Ro ZXIgYmFzaWMgYmxvY2tzLiAgKi8NCisgIGlmIChpbnN0YW5jZS0+cm9vdCA9 PSBub2RlICYmIFNMUF9JTlNUQU5DRV9ST09UX1NUTVQgKGluc3RhbmNlKQ0K KyAgICAgICYmIFNMUF9UUkVFX05VTUJFUl9PRl9WRUNfU1RNVFMgKG5vZGUp ID09IDENCisgICAgICAmJiBTTFBfVFJFRV9WRUNfU1RNVFMgKG5vZGUpLmV4 aXN0cyAoKSkNCisgICAgew0KKwkgIHN0bXRfdmVjX2luZm8gY2hpbGRfc3Rt dF9pbmZvOw0KKwkgIGludCBqOw0KKwkgIEZPUl9FQUNIX1ZFQ19FTFQgKFNM UF9UUkVFX1ZFQ19TVE1UUyAobm9kZSksIGosIGNoaWxkX3N0bXRfaW5mbykN CisJICAgIHsNCisJCWdhc3NpZ24gKnJzdG10DQorCQkgID0gZ2ltcGxlX2J1 aWxkX2Fzc2lnbiAoZ2ltcGxlX2dldF9saHMgKGluc3RhbmNlLT5yb290X3N0 bXQpLA0KKwkJCQkJIGdpbXBsZV9nZXRfbGhzIChjaGlsZF9zdG10X2luZm8t PnN0bXQpKTsNCisJCWdpbXBsZV9zdG10X2l0ZXJhdG9yIHJnc2kgPSBnc2lf Zm9yX3N0bXQgKGluc3RhbmNlLT5yb290X3N0bXQpOw0KKwkJZ3NpX3JlcGxh Y2UgKCZyZ3NpLCByc3RtdCwgdHJ1ZSk7DQorCQlicmVhazsNCisJICAgIH0N CisgICAgfQ0KKw0KIH0NCiANCiAvKiBSZXBsYWNlIHNjYWxhciBjYWxscyBm cm9tIFNMUCBub2RlIE5PREUgd2l0aCBzZXR0aW5nIG9mIHRoZWlyIGxocyB0 byB6ZXJvLg0KZGlmZiAtLWdpdCBhL2djYy90cmVlLXZlY3Rvcml6ZXIuaCBi L2djYy90cmVlLXZlY3Rvcml6ZXIuaA0KaW5kZXggODM3ZmI1YWI1MjUzN2Nk Zjk1YTQxMzU1NzMzNWIzMDcwNGY5ZGMyNi4uOTA2NTc5ZjBiYzBlZmNlOTU1 YTFjZGUxNzdmZTE0MDRlYThjZTg0MyAxMDA2NDQNCi0tLSBhL2djYy90cmVl LXZlY3Rvcml6ZXIuaA0KKysrIGIvZ2NjL3RyZWUtdmVjdG9yaXplci5oDQpA QCAtMTQ5LDYgKzE0OSwxMCBAQCBwdWJsaWM6DQogICAvKiBUaGUgcm9vdCBv ZiBTTFAgdHJlZS4gICovDQogICBzbHBfdHJlZSByb290Ow0KIA0KKyAgLyog Rm9yIHZlY3RvciBjb25zdHJ1Y3RvcnMsIHRoZSBjb25zdHJ1Y3RvciBzdG10 IHRoYXQgdGhlIFNMUCB0cmVlIGlzIGJ1aWx0DQorICAgICBmcm9tLCBOVUxM IG90aGVyd2lzZS4gICovDQorICBnaW1wbGUgKnJvb3Rfc3RtdDsNCisNCiAg IC8qIFNpemUgb2YgZ3JvdXBzIG9mIHNjYWxhciBzdG10cyB0aGF0IHdpbGwg YmUgcmVwbGFjZWQgYnkgU0lNRCBzdG10L3MuICAqLw0KICAgdW5zaWduZWQg aW50IGdyb3VwX3NpemU7DQogDQpAQCAtMTY4LDYgKzE3Miw3IEBAIHB1Ymxp YzoNCiAjZGVmaW5lIFNMUF9JTlNUQU5DRV9HUk9VUF9TSVpFKFMpICAgICAg ICAgICAgICAgKFMpLT5ncm91cF9zaXplDQogI2RlZmluZSBTTFBfSU5TVEFO Q0VfVU5ST0xMSU5HX0ZBQ1RPUihTKSAgICAgICAgIChTKS0+dW5yb2xsaW5n X2ZhY3Rvcg0KICNkZWZpbmUgU0xQX0lOU1RBTkNFX0xPQURTKFMpICAgICAg ICAgICAgICAgICAgICAoUyktPmxvYWRzDQorI2RlZmluZSBTTFBfSU5TVEFO Q0VfUk9PVF9TVE1UKFMpICAgICAgICAgICAgICAgIChTKS0+cm9vdF9zdG10 DQogDQogI2RlZmluZSBTTFBfVFJFRV9DSElMRFJFTihTKSAgICAgICAgICAg ICAgICAgICAgIChTKS0+Y2hpbGRyZW4NCiAjZGVmaW5lIFNMUF9UUkVFX1ND QUxBUl9TVE1UUyhTKSAgICAgICAgICAgICAgICAgKFMpLT5zdG10cw0KLS0g DQoyLjE3LjENCg0K --_002_5edb0b004ae241c080ec76de15d0b110armcom_--