From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2085.outbound.protection.outlook.com [40.107.249.85]) by sourceware.org (Postfix) with ESMTPS id 84D1C3858D32 for ; Mon, 24 Apr 2023 08:47:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 84D1C3858D32 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=A2oHnuW4Dl9hZ9cxxDYL7yaNaqamokkLuTMJr0DnlLY=; b=J52RFf500VOQgvgaYgNjxiJg8Co6xzGKf9S3gUXVBl29YfGbJg+1y5i5kebgW2bmZN5VI2hziZHa+rPw+OxvbYA2sIShB+WZ2hVbqbumVopzzbplItlBIe8G2gDj3IRP8cq/QikBDE2EPsjvC0T7UFGiVmpqzxdIVapjOLJgxgM= Received: from DB8PR06CA0058.eurprd06.prod.outlook.com (2603:10a6:10:120::32) by DBBPR08MB6154.eurprd08.prod.outlook.com (2603:10a6:10:1f4::10) 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:47:45 +0000 Received: from DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:120:cafe::48) by DB8PR06CA0058.outlook.office365.com (2603:10a6:10:120::32) 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:47:45 +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 DBAEUR03FT015.mail.protection.outlook.com (100.127.142.112) 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:47:45 +0000 Received: ("Tessian outbound 3570909035da:v136"); Mon, 24 Apr 2023 08:47:45 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9843499d8b63aa0f X-CR-MTA-TID: 64aa7808 Received: from 9a3c3e80f582.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4C3A7862-8B4B-4564-8AC3-CC3386D70F6E.1; Mon, 24 Apr 2023 08:47:38 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9a3c3e80f582.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 Apr 2023 08:47:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KLNmNuDy3Ffr05ZcDmKh+zLHUqqL8pgrbJ5FlklWvii2psZNKBgtZkw+v2wuxNIigZVbzJFDeAopjHrGcSLOIKU5141qbjy14SlpFxGeMwi9WgisoAsdHt5YIK2Wvpz/3EkzVxiAfM08XmHHo3LLC3IGIrCGGhq1p2NkCVgezhk6M9/s/8/cS/zzXAn1k3EcX99gQrpC4JKdKip9vlwiRrYkP7HetbsKY6TNDLxb26BfSFc4B4aFRdyW108mt6IAegkFZE9D8gA4NLnDwsdR+XjChVMGrdkRpIZHhOl0m11L/975uv58cPZS5dA6iz3+kCoXBwWEg4QfuMcFAXCZbQ== 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=A2oHnuW4Dl9hZ9cxxDYL7yaNaqamokkLuTMJr0DnlLY=; b=CXXRKhoCJpBM7tUqjjp1yY/wS6HuDEFnJJk+NE5/NGhN8TohfSucZbZkLd35RLI3AsszIGLgXKjvLyWI+jk/oqHwrSL/htft49BKSWtMQ/9Pw6Knt3UdK9GIG6ziKYk3vRIqS6Bndk4PHTH09qzDf/RSDy2uuVMLJaT1hEk1E85+s4QQ4JYY6R1WRUQ/7j33T3LMCsruxo3C+QsYfxG4s2Roil8SJZ5VkHy3ajvczAc+BGEBnMJfFbFrwEcL5KDD7a7sf8nm3DMP7RyDI0BuNQYKHdnHzxwNveO9vXtQskuOR3P1ZIDU0FnuzPHAKBgDFWNKgf/iM3Ns7PP87M4X4w== 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=A2oHnuW4Dl9hZ9cxxDYL7yaNaqamokkLuTMJr0DnlLY=; b=J52RFf500VOQgvgaYgNjxiJg8Co6xzGKf9S3gUXVBl29YfGbJg+1y5i5kebgW2bmZN5VI2hziZHa+rPw+OxvbYA2sIShB+WZ2hVbqbumVopzzbplItlBIe8G2gDj3IRP8cq/QikBDE2EPsjvC0T7UFGiVmpqzxdIVapjOLJgxgM= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by AS2PR08MB9222.eurprd08.prod.outlook.com (2603:10a6:20b:59e::10) 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:47:33 +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:47:30 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][1/4][committed] aarch64: Convert UABDL and SABDL patterns to standard RTL codes Thread-Topic: [PATCH][1/4][committed] aarch64: Convert UABDL and SABDL patterns to standard RTL codes Thread-Index: Adl2iAPR7f556A1HS6efkjzuDGOBtg== Date: Mon, 24 Apr 2023 08:47:30 +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_|AS2PR08MB9222:EE_|DBAEUR03FT015:EE_|DBBPR08MB6154:EE_ X-MS-Office365-Filtering-Correlation-Id: 17533481-35f3-4d85-b543-08db44a09327 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: OlKKmNlmNVXofcAz8RF+kaI6iD0CQUCwP0Nyt2QYvL8XG5KYZqNk4d15iV/bK2hlM4h1AOIuVqelRhYvuurBw4XpUfhE3lAJxSR1pYcPTmy9HY8Ik40QXE540B4G4XXhkOx8a7TcP0RzKBu6IsrvKqeWsCUejdTFlGekFdjmq2pXel1IWi+YJ9cnYHCBvToUb5mCQQjyDHopEnAsCqi2R64dC4ODQ2nZtHbWmREjFICONvZ43kivwdU4qnEN3LVLm8HnVQ+a4cA6O26hJylTmDveumtiDbI0M8rET0CoOw89Sjp7j4xCIk7s2xWulD26DcWIShTImNJGidMwKkRX59C7KHHjWFDzatxT49g4MABxCMk+kVZxgGbRaLlYin6gY7ZNlPexER3Ge8MTShWzugzY/qlhLcXx5CBgDHXPCOJ+mDuUQsx6MVq1L2jS6exSmFIB4z63RymyWR+WDLw0y2kWCdSQ2vPaxs3/qQfjcdYyLyRyG7Z879L54/jkFmPSpyJa7UqHi/WglHQzNRxX/WizAFlnIY+F2nHY9MHHeSFbzsykpURo1dfE64OHyMd5YNVyhPNCTR8tV7ECoB9f+vAhz+4OXV+drsRN/nzQ0UPbwtTbH250Dkc+vdPM5Z6U 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)(136003)(39860400002)(366004)(376002)(346002)(396003)(451199021)(2906002)(76116006)(64756008)(66446008)(66476007)(66556008)(66946007)(6916009)(316002)(52536014)(8676002)(8936002)(5660300002)(38070700005)(41300700001)(33656002)(86362001)(55016003)(9686003)(26005)(186003)(122000001)(71200400001)(99936003)(55236004)(38100700002)(478600001)(7696005)(83380400001)(6506007);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB6926B3118BE76698EB872A7F93679PAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9222 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: DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f69e0e0a-47ca-4ce6-d31f-08db44a08a12 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +VekEQ1Q3VaxaX2oE4zSsL4fLQVa82d5jQsd3jI8hFQzdwbcQsH4oLmrtC+VCrtcZCVyObF3hmHP/MHWqMswWXOrjxO7iKYI0X+RrdpZ4OGDC7cGuYJCnLwrC7q1K9g03bOZl9qK4AMfKv2MIS8T3lwdOLN7FbXioVfywdFrAUnhVwJ0tduO09WePCMMswrQAJ/kmo8HjJ0NOU8/jPvEzN3uMdlf23UJZIvT1MFdC9H6XoMFDhLGkoU2fieWXtyXjglxGTf3Gjx+sQBv/hJ4viJQWOiSwgCxhsW2Dx++7kDJ+1uQ/MTlU+PjTquaGiE1BDe5sJzZ9nYF5g5LThGO7+Xm+AYhJ+GR+z5RXAvW4S+gnkl2MPpMkJnB/HcRt4m8gMPEvsWmNX+JaHw78+wSLCxFAVRQrssI4riVU9MrdLmUTWcz/BgZxTKYXWuv1T0tJ9GdkBMAah+Op+k+E5p4ahAVCdYQPczIlOaNjDyMrxjDu51Xyz+wPYw6ouoIOjBrd8TiQ351lo5Oca7OZQ03FvIRjo1fcXYdPZ5HDtKNAVESWgZ+AYTuSlEcD81KolVCVI79Oqt+nEQ4LLVHVJpTVrU93MN0AQAyspbrQn9nrpRaOOyebZPF47yUU0Kkl4io1z3UGNVRTzvmGZitNZy/SEBEq4bV6CxJpyN82WEAmqmtYhPgOvR8Ju4STMXqhDBo1876mXWzUa9wBUHatgDE3A== 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)(136003)(39860400002)(376002)(346002)(396003)(451199021)(46966006)(36840700001)(40470700004)(40460700003)(2906002)(70206006)(70586007)(6916009)(316002)(52536014)(8676002)(8936002)(5660300002)(235185007)(41300700001)(33656002)(82310400005)(86362001)(55016003)(40480700001)(356005)(9686003)(26005)(186003)(81166007)(99936003)(478600001)(7696005)(36860700001)(83380400001)(47076005)(336012)(6506007)(82740400003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 08:47:45.7366 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 17533481-35f3-4d85-b543-08db44a09327 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: DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6154 X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,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_PAXPR08MB6926B3118BE76698EB872A7F93679PAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, This is the first patch in a series to improve the RTL representation of th= e sum-of-absolute-differences patterns in the backend. We can use standard RTL codes and remove some unspecs. For UABDL and SABDL we have a widening of the result so we can represent ua= bdl (x, y) as (zero_extend (minus (smax (x, y) (smin (x, y))))) and sabdl (x, y) as (zero_extend (minus (umax (x, y) (umin (x, y))))). It is important to use zero_extend rather than sign_extend for the sabdl ca= se, as the result of the absolute difference is still a positive unsigned v= alue (the signedness of the operation refers to the values being diffed, not the= absolute value of the difference) that must be zero-extended. Bootstrapped and tested on aarch64-none-linux-gnu (these intrinsics are rea= sonably well-covered by the advsimd-intrinsics.exp tests) Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_abdl): Rename to... (aarch64_abdl): ... This. Use standard RTL ops instead of unspec. * config/aarch64/aarch64.md (UNSPEC_SABDL, UNSPEC_UABDL): Delete. * config/aarch64/iterators.md (ABDL): Delete. (sur): Remove handling of UNSPEC_SABDL and UNSPEC_UABDL. --_002_PAXPR08MB6926B3118BE76698EB872A7F93679PAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="abdl.patch" Content-Description: abdl.patch Content-Disposition: attachment; filename="abdl.patch"; size=2800; creation-date="Mon, 24 Apr 2023 08:37:04 GMT"; modification-date="Mon, 24 Apr 2023 08:47:30 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCmluZGV4IDc3MmRkNzY5M2IzZWE1YmNmNDBmYjBj OGQwZDJiOWU2Y2FlMDIzNDIuLmJjZWEzMTk0YmI0YTU4ZTZlM2RkNGEzMjA2NzA5MjZlMzQ5NjU2 OTYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZApAQCAtODcxLDE0ICs4NzEsMTggQEAg KGRlZmluZV9pbnNuICJhYXJjaDY0XzxzdT5hYmQ8bW9kZT4iCiAgIFsoc2V0X2F0dHIgInR5cGUi ICJuZW9uX2FiZDxxPiIpXQogKQogCi0KLShkZWZpbmVfaW5zbiAiYWFyY2g2NF88c3VyPmFiZGw8 bW9kZT4iCisoZGVmaW5lX2luc24gImFhcmNoNjRfPHN1PmFiZGw8bW9kZT4iCiAgIFsoc2V0ICht YXRjaF9vcGVyYW5kOjxWV0lERT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKLQkodW5zcGVj OjxWV0lERT4gWyhtYXRjaF9vcGVyYW5kOlZEX0JIU0kgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInci KQotCQkJIChtYXRjaF9vcGVyYW5kOlZEX0JIU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgInciKV0K LQlBQkRMKSldCisJKHplcm9fZXh0ZW5kOjxWV0lERT4KKwkgIChtaW51czpWRF9CSFNJCisJICAg IChVU01BWDpWRF9CSFNJCisJICAgICAgKG1hdGNoX29wZXJhbmQ6VkRfQkhTSSAxICJyZWdpc3Rl cl9vcGVyYW5kIiAidyIpCisJICAgICAgKG1hdGNoX29wZXJhbmQ6VkRfQkhTSSAyICJyZWdpc3Rl cl9vcGVyYW5kIiAidyIpKQorCSAgICAoPG1heF9vcHA+OlZEX0JIU0kKKwkgICAgICAobWF0Y2hf ZHVwIDEpCisJICAgICAgKG1hdGNoX2R1cCAyKSkpKSldCiAgICJUQVJHRVRfU0lNRCIKLSAgIjxz dXI+YWJkbFx0JTAuPFZ3dHlwZT4sICUxLjxWdHlwZT4sICUyLjxWdHlwZT4iCisgICI8c3U+YWJk bFx0JTAuPFZ3dHlwZT4sICUxLjxWdHlwZT4sICUyLjxWdHlwZT4iCiAgIFsoc2V0X2F0dHIgInR5 cGUiICJuZW9uX2FiZDxxPiIpXQogKQogCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQv YWFyY2g2NC5tZCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kCmluZGV4IDBiMzI2ZDQ5 N2I0N2UxOTA5ZDhjYjJlMTM2OTUyMjUzMzM2YmMzMzMuLjQ2ZDg2YzEwNTM5NTQ5Mzc3N2U2ODEy Njk5ZGU5NjI0MTAxYmE2MDkgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 Lm1kCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kCkBAIC0yMDYsNyArMjA2LDYg QEAgKGRlZmluZV9jX2VudW0gInVuc3BlYyIgWwogICAgIFVOU1BFQ19SQklUCiAgICAgVU5TUEVD X1NBQkFMCiAgICAgVU5TUEVDX1NBQkFMMgotICAgIFVOU1BFQ19TQUJETAogICAgIFVOU1BFQ19T QUJETDIKICAgICBVTlNQRUNfU0FEQUxQCiAgICAgVU5TUEVDX1NDVlRGCkBAIC0yMzAsNyArMjI5 LDYgQEAgKGRlZmluZV9jX2VudW0gInVuc3BlYyIgWwogICAgIFVOU1BFQ19UTFNMRTQ4CiAgICAg VU5TUEVDX1VBQkFMCiAgICAgVU5TUEVDX1VBQkFMMgotICAgIFVOU1BFQ19VQUJETAogICAgIFVO U1BFQ19VQUJETDIKICAgICBVTlNQRUNfVUFEQUxQCiAgICAgVU5TUEVDX1VDVlRGCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvaXRlcmF0b3JzLm1kIGIvZ2NjL2NvbmZpZy9hYXJjaDY0 L2l0ZXJhdG9ycy5tZAppbmRleCA2Y2JjOTdjYzgyYzA2YTY4MjU5YmRmNGRlYzhhMGVhYjIzMDA4 MWU1Li40ZjI0MzBjNDM0MTY1MDQzYzFlYzgxNDc1MWZmMTA2YTY0MTRkNDA4IDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL2FhcmNoNjQvaXRlcmF0b3JzLm1kCisrKyBiL2djYy9jb25maWcvYWFyY2g2 NC9pdGVyYXRvcnMubWQKQEAgLTI1NjUsOSArMjU2NSw2IEBAIChkZWZpbmVfY29kZV9hdHRyIGlu Y19kZWMgWyhtaW51cyAiZGVjIikgKHNzX21pbnVzICJzcWRlYyIpICh1c19taW51cyAidXFkZWMi KQogOzsgVGhlIHVuc3BlYyBjb2RlcyBmb3IgdGhlIFNBQkFMLCBVQUJBTCBBZHZhbmNlZFNJTUQg aW5zdHJ1Y3Rpb25zLgogKGRlZmluZV9pbnRfaXRlcmF0b3IgQUJBTCBbVU5TUEVDX1NBQkFMIFVO U1BFQ19VQUJBTF0pCiAKLTs7IFRoZSB1bnNwZWMgY29kZXMgZm9yIHRoZSBTQUJETCwgVUFCREwg QWR2YW5jZWRTSU1EIGluc3RydWN0aW9ucy4KLShkZWZpbmVfaW50X2l0ZXJhdG9yIEFCREwgW1VO U1BFQ19TQUJETCBVTlNQRUNfVUFCRExdKQotCiA7OyBUaGUgdW5zcGVjIGNvZGVzIGZvciB0aGUg U0FCQUwyLCBVQUJBTDIgQWR2YW5jZWRTSU1EIGluc3RydWN0aW9ucy4KIChkZWZpbmVfaW50X2l0 ZXJhdG9yIEFCQUwyIFtVTlNQRUNfU0FCQUwyIFVOU1BFQ19VQUJBTDJdKQogCkBAIC0zMzU3LDcg KzMzNTQsNiBAQCAoZGVmaW5lX2ludF9hdHRyIHN1ciBbKFVOU1BFQ19TSEFERCAicyIpIChVTlNQ RUNfVUhBREQgInUiKQogCQkgICAgICAoVU5TUEVDX0FEREhOICIiKSAoVU5TUEVDX1JBRERITiAi ciIpCiAJCSAgICAgIChVTlNQRUNfU0FCQUwgInMiKSAoVU5TUEVDX1VBQkFMICJ1IikKIAkJICAg ICAgKFVOU1BFQ19TQUJBTDIgInMiKSAoVU5TUEVDX1VBQkFMMiAidSIpCi0JCSAgICAgIChVTlNQ RUNfU0FCREwgInMiKSAoVU5TUEVDX1VBQkRMICJ1IikKIAkJICAgICAgKFVOU1BFQ19TQUJETDIg InMiKSAoVU5TUEVDX1VBQkRMMiAidSIpCiAJCSAgICAgIChVTlNQRUNfU0FEQUxQICJzIikgKFVO U1BFQ19VQURBTFAgInUiKQogCQkgICAgICAoVU5TUEVDX1NVQkhOICIiKSAoVU5TUEVDX1JTVUJI TiAiciIpCg== --_002_PAXPR08MB6926B3118BE76698EB872A7F93679PAXPR08MB6926eurp_--