From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2044.outbound.protection.outlook.com [40.107.13.44]) by sourceware.org (Postfix) with ESMTPS id 624453858D3C for ; Mon, 24 Apr 2023 08:29:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 624453858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com 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=ozcB2LNSzEcavgNMk1eJtKVfKSv4dnZeK9bk/aMIul0=; b=ViuOUf0IId010vhV+I1uDM+r6YJMo1H2aIae9OzMsKBtghQFUumToucshKyJUtwuCo0yumlHVr5KsenYSd1ADLPykkGz8o0GL6CAkt7GwgJmKCk5mb1uFo56k2AoOqj+S6gSsxRjElMOAfz550zcFT2i//QV2C7roBWe7aAs6iY= Received: from DU2PR04CA0191.eurprd04.prod.outlook.com (2603:10a6:10:28d::16) by DBAPR08MB5719.eurprd08.prod.outlook.com (2603:10a6:10:1a6::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Mon, 24 Apr 2023 08:28:59 +0000 Received: from DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28d:cafe::7c) by DU2PR04CA0191.outlook.office365.com (2603:10a6:10:28d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33 via Frontend Transport; Mon, 24 Apr 2023 08:28:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT052.mail.protection.outlook.com (100.127.142.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.19 via Frontend Transport; Mon, 24 Apr 2023 08:28:59 +0000 Received: ("Tessian outbound 5154e9d36775:v136"); Mon, 24 Apr 2023 08:28:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ce409f5e48b732e1 X-CR-MTA-TID: 64aa7808 Received: from 627e3ac40ed6.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CB34C3BA-63BE-44AB-B8F8-216E71FA2F62.1; Mon, 24 Apr 2023 08:28:52 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 627e3ac40ed6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 Apr 2023 08:28:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NnyyvCAR3aLInFEb3jUWUdhUapCM8pSNp3raXCUjSYLOGSt2+PhYMgur9oL3i/+Ihyy9clkgJKy1TR99XUimGCA5BwtXsjWiLlAaqeBqd/pslDjtF6uSatqjWQicNuJLNkZWsdDAnocBfHWZIGppaHSUqPxyDwkYUzRWg0RUdLhofCka7Uabc11o79qrXj28Bfz6h9mbBxqUJh4d7wyhjp0+7Dc5g5e8qurxH/s4wq+kCEj4QxLU5H9D9fXsct6t9HucZrO99NVn8PaHCBX2bSspllkGhU42KrF+dSepH+gA8S816bFZGW0OtZY5umNeAuyRyOBRkLhKtDodo4gbDA== 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=ozcB2LNSzEcavgNMk1eJtKVfKSv4dnZeK9bk/aMIul0=; b=B2R2cz3wYkBdgtCaQxwn3hOBYJVwr1goRAsX/U/BgWgsYlkxMQOEI4RY1HY8jGOi5oN+aZ8dU+KHrFmspuToctAmNP3KArOvXSMV7uE3U9Ff/3731uM+imIZgeh0MOU4GK8rd0pm/wOW+uSdrBOI4XHsJ//GGWVZVMma0UX7eTcs9L/OVvwwPRJ4z6RLaWnnXeYfvbEjNeUklE81hpIouRy55B0ksTwZB1jqLukvSsqTtPUyU1T8alLnToIKIjhicrSAfnmjtDUDCpr8IVrNNoSnwjFk2EG234TEqcIehuFX7wL2FYTw2+voWxEkL2cVOQOhQts6HGFgS4lZdS2A/g== 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=ozcB2LNSzEcavgNMk1eJtKVfKSv4dnZeK9bk/aMIul0=; b=ViuOUf0IId010vhV+I1uDM+r6YJMo1H2aIae9OzMsKBtghQFUumToucshKyJUtwuCo0yumlHVr5KsenYSd1ADLPykkGz8o0GL6CAkt7GwgJmKCk5mb1uFo56k2AoOqj+S6gSsxRjElMOAfz550zcFT2i//QV2C7roBWe7aAs6iY= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PAXPR08MB6464.eurprd08.prod.outlook.com (2603:10a6:102:df::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Mon, 24 Apr 2023 08:28:23 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1%3]) with mapi id 15.20.6319.033; Mon, 24 Apr 2023 08:28:23 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][committed] aarch64: Add pattern to match zero-extending scalar result of ADDLV Thread-Topic: [PATCH][committed] aarch64: Add pattern to match zero-extending scalar result of ADDLV Thread-Index: Adl2hqtGxeW1QmoDTO2rad/9TJ+UvA== Date: Mon, 24 Apr 2023 08:28:23 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|PAXPR08MB6464:EE_|DBAEUR03FT052:EE_|DBAPR08MB5719:EE_ X-MS-Office365-Filtering-Correlation-Id: 761a93a2-75b6-4651-0089-08db449df3dd x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: UAO02tBoQGr0m1BXlsgXLUac3uSZ1rZAhNpMrSKrcfQRM4WOKJ5nWpEZSeTCV75jqBbBxxTghpA57wZH4XlRSOz/GiEhhsN3uMYT9ksK3MErxIrWVRzNGdiAa5AxWpD+4OzK/Aogt94AhCjBzpoexqF7HqJI7pS8lA6llEzg/c3TYSJVFu4D6i2fIOWbsMcrxcmXR7uxPNLXUrKouyNZWzBmAJ9WJLRu407qzjUrxDg7Ew9rayUHXbq7vJAtF1+PSyBe+kRKYbwtNtMlUJdnGmXKs9gHIFlDfQ5Co059TykwH/1d1kYzEHDAIlKGsUqLlBZjh/j1iD/WiHRYwTzMPENnz9459LB8dfZIR1b/Umps6Z75b4en7u//7WeyJZD7pFgL1+YfrHETa1toO85I1UMjnp1oZe1vVYGR2TMN+QTk96THDKlgpHUAmy8i4lmU69tnwdQs6UoU5bMj1Tk7KbWrk92+G1z0aso2yG6USqB7qiQEPo3n3W5gYxu6rxLXdrwphoW8lkQDotVp9WhEA/sY3aUUHNiLjGNAugGIX5sqJVyH+rnrAJG4Cc0vXe8UtWuYpqjqaGF/zlhdXVIR96m5qY74t1lR+LTRyaM+Cno= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(451199021)(38070700005)(478600001)(316002)(99936003)(6916009)(76116006)(64756008)(66446008)(66476007)(66556008)(55016003)(66946007)(122000001)(41300700001)(4744005)(2906002)(8936002)(8676002)(52536014)(5660300002)(38100700002)(86362001)(186003)(26005)(6506007)(33656002)(9686003)(55236004)(84970400001)(7696005)(71200400001);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB692651B741F840AFDF7404FD93679PAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6464 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6c5322f1-f4f5-4ef2-2999-08db449dde43 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZHQlmLmxaKaLPaorHzgJQm17e+icpY8Zx1SlhAKMPngA9Jvtehrk5CoPu4/O0TnJrqY1OzWAh0OoDDMOOtoTKrZ1tb7CCWDTHsurud/NFGu5Aw++2YtvS2ahhXDWIJ8maQiRhBoCO5p6Z2UVbUXoNjpOWo0FyoQKmFqnMzw/d+JIIj0pOjiZbnfjCzPFH0SW95PfhrVjYTpeWoGzESA1nnDpCgsdgd4x3NSRrwpaukUlMpRKYR0BVBboTV2m0JuNP1RlKmSGTB4K6aW1rqsIEFHuqgk3YjAIRV77scmXYmY++2RAmDsgrdV03S5rIvOQx2JvRUCG9628Tms6N70pYhZznngS7MYhlzKG3FbedGbUvaHV3E9OumEcjFWPPXZDZGLJ3UnUPtovF0BNuh0v6Nj1fVJ+sw4e0hGx35MMrY6+GGilMEUFoL6MUXbZ2t6CQQ6jt8pBTryTF3tEotklCYXCLTSM+BKgXZhLCa5Z9bOG6eorudhGtBXgUuZ6ZRVV/ToK3IaCNFXUGLmixQzCTn2D1qw2OgliNg32yFqMEUiuQ/VPzGwWcWmYFkHVMZJpv+vltiZUnZt3AVAdsbu0hoe4M/A3xKT29fEnGLbJIT5jTHhFh+ZFspvf3SORxExcWbi5ySEl5NzKRAtOE7H52YCQHRhQYhGr4XJYH+HmQy8= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(39850400004)(376002)(346002)(136003)(451199021)(46966006)(36840700001)(2906002)(7696005)(55016003)(9686003)(6506007)(26005)(186003)(40480700001)(70586007)(70206006)(8676002)(8936002)(316002)(41300700001)(6916009)(478600001)(235185007)(5660300002)(52536014)(82740400003)(356005)(99936003)(81166007)(82310400005)(86362001)(33656002)(36860700001)(47076005)(336012)(84970400001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 08:28:59.4802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 761a93a2-75b6-4651-0089-08db449df3dd X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5719 X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_PAXPR08MB692651B741F840AFDF7404FD93679PAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, The vaddlv_u8 and vaddlv_u16 intrinsics produce a widened scalar result (ui= nt16_t and uint32_t). The ADDLV instructions themselves zero the rest of the V register, which gi= ves us a free zero-extension to 32 and 64 bits, similar to how it works on the GP reg side. Because we don't model that zero-extension in the machine description this = can cause GCC to move the results of these instructions to the GP regs just to do a (superfluous) zer= o-extension. This patch just adds a pattern to catch these cases. For the testcases we c= an now generate no zero-extends or GP<->FP reg moves, whereas before we generated stuff like: foo_8_32: uaddlv h0, v0.8b umov w1, v0.h[0] // FP<->GP move with zero-extension! str w1, [x0] ret Bootstrapped and tested on aarch64-none-linux-gnu. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-simd.md (*aarch64_addlv_ze): New pattern. gcc/testsuite/ChangeLog: * gcc.target/aarch64/simd/addlv_zext.c: New test. --_002_PAXPR08MB692651B741F840AFDF7404FD93679PAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="addlv.patch" Content-Description: addlv.patch Content-Disposition: attachment; filename="addlv.patch"; size=2632; creation-date="Mon, 24 Apr 2023 08:27:42 GMT"; modification-date="Mon, 24 Apr 2023 08:28:23 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCmluZGV4IGQ0MjQxM2IwYTcxMWZhOWRjYWNkNzBh MmY5N2ZjNWM3MTY0Mjc4ODEuLjk1MmRmMGRmMDM3OGExNGQ2MzRlOTIxOGZmZGU4NzdjNjQ1Yzhh MjggMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZApAQCAtMzU1NCw2ICszNTU0LDIyIEBA IChkZWZpbmVfaW5zbiAiYWFyY2g2NF88c3U+YWRkbHY8bW9kZT4iCiAgIFsoc2V0X2F0dHIgInR5 cGUiICJuZW9uX3JlZHVjX2FkZDxxPiIpXQogKQogCis7OyBaZXJvLWV4dGVuZGluZyB2ZXJzaW9u IG9mIHRoZSBhYm92ZS4gIEFzIHRoZXNlIGludHJpbnNpY3MgcHJvZHVjZSBhIHNjYWxhcgorOzsg dmFsdWUgdGhhdCBtYXkgYmUgdXNlZCBieSBmdXJ0aGVyIGludHJpbnNpY3Mgd2Ugd2FudCB0byBh dm9pZCBtb3ZpbmcgdGhlCis7OyByZXN1bHQgaW50byBHUCByZWdzIHRvIGRvIGEgemVyby1leHRl bnNpb24gdGhhdCBBRERMVi9BRERMUCBnaXZlcyBmb3IgZnJlZS4KKworKGRlZmluZV9pbnNuICIq YWFyY2g2NF88c3U+YWRkbHY8VkRRVl9MOm1vZGU+X3plPEdQSTptb2RlPiIKKyBbKHNldCAobWF0 Y2hfb3BlcmFuZDpHUEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKKyAgICAgICAoemVyb19l eHRlbmQ6R1BJCisJKHVuc3BlYzo8VldJREVfUz4KKwkgIFsobWF0Y2hfb3BlcmFuZDpWRFFWX0wg MSAicmVnaXN0ZXJfb3BlcmFuZCIgInciKV0KKwkgICAgVVNBRERMVikpKV0KKyAiVEFSR0VUX1NJ TUQKKyAgJiYgKEdFVF9NT0RFX1NJWkUgKDxHUEk6TU9ERT5tb2RlKSA+IEdFVF9NT0RFX1NJWkUg KDxWV0lERV9TPm1vZGUpKSIKKyAiPHN1PmFkZGw8VkRRVl9MOnZwPlxcdCU8VkRRVl9MOlZ3c3R5 cGU+MDxWRFFWX0w6VndzdWY+LCAlMS48VkRRVl9MOlZ0eXBlPiIKKyAgWyhzZXRfYXR0ciAidHlw ZSIgIm5lb25fcmVkdWNfYWRkPFZEUVZfTDpxPiIpXQorKQorCiAoZGVmaW5lX2luc24gImFhcmNo NjRfPHN1PmFkZGxwPG1vZGU+IgogIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWREJMVz4gMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj13IikKICAgICAgICAodW5zcGVjOjxWREJMVz4gWyhtYXRjaF9vcGVy YW5kOlZEUVZfTCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidyIpXQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc2ltZC9hZGRsdl96ZXh0LmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zaW1kL2FkZGx2X3pleHQuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmQz YzMwMzc0M2I3MzI0OWMwMjIwZGY1ZmI5NWQ0YTExYjkzODFjCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc2ltZC9hZGRsdl96ZXh0LmMKQEAgLTAs MCArMSw4NCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctYWRkaXRpb25hbC1v cHRpb25zICItLXNhdmUtdGVtcHMgLU8xIiB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVu Y3Rpb24tYm9kaWVzICIqKiIgIiIgIiIgfSB9ICovCisKKyNpbmNsdWRlIDxhcm1fbmVvbi5oPgor CisvKgorKiogZm9vXzhfMzI6CisqKgl1YWRkbHYJaDAsIHYwLjhiCisqKglzdHIJczAsIFxbeDBc XQorKioJcmV0CisqLworCit2b2lkCitmb29fOF8zMiAodWludDh4OF90IGEsIHVpbnQzMl90ICpy ZXMpCit7CisgICpyZXMgPSB2YWRkbHZfdTggKGEpOworfQorCisvKgorKiogZm9vXzhfNjQ6Cisq Kgl1YWRkbHYJaDAsIHYwLjhiCisqKglzdHIJZDAsIFxbeDBcXQorKioJcmV0CisqLworCit2b2lk Citmb29fOF82NCAodWludDh4OF90IGEsIHVpbnQ2NF90ICpyZXMpCit7CisgICpyZXMgPSB2YWRk bHZfdTggKGEpOworfQorCisvKgorKiogZm9vXzE2XzY0OgorKioJdWFkZGx2CXMwLCB2MC40aAor KioJc3RyCWQwLCBcW3gwXF0KKyoqCXJldAorKi8KKwordm9pZAorZm9vXzE2XzY0ICh1aW50MTZ4 NF90IGEsIHVpbnQ2NF90ICpyZXMpCit7CisgICpyZXMgPSB2YWRkbHZfdTE2IChhKTsKK30KKwor LyoKKyoqIGZvb3FfOF8zMjoKKyoqCXVhZGRsdgloMCwgdjAuMTZiCisqKglzdHIJczAsIFxbeDBc XQorKioJcmV0CisqLworCit2b2lkCitmb29xXzhfMzIgKHVpbnQ4eDE2X3QgYSwgdWludDMyX3Qg KnJlcykKK3sKKyAgKnJlcyA9IHZhZGRsdnFfdTggKGEpOworfQorCisvKgorKiogZm9vcV84XzY0 OgorKioJdWFkZGx2CWgwLCB2MC4xNmIKKyoqCXN0cglkMCwgXFt4MFxdCisqKglyZXQKKyovCisK K3ZvaWQKK2Zvb3FfOF82NCAodWludDh4MTZfdCBhLCB1aW50NjRfdCAqcmVzKQoreworICAqcmVz ID0gdmFkZGx2cV91OCAoYSk7Cit9CisKKy8qCisqKiBmb29xXzE2XzY0OgorKioJdWFkZGx2CXMw LCB2MC44aAorKioJc3RyCWQwLCBcW3gwXF0KKyoqCXJldAorKi8KKwordm9pZAorZm9vcV8xNl82 NCAodWludDE2eDhfdCBhLCB1aW50NjRfdCAqcmVzKQoreworICAqcmVzID0gdmFkZGx2cV91MTYg KGEpOworfQorCg== --_002_PAXPR08MB692651B741F840AFDF7404FD93679PAXPR08MB6926eurp_--