From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2058.outbound.protection.outlook.com [40.107.7.58]) by sourceware.org (Postfix) with ESMTPS id 498263857025 for ; Wed, 7 Jun 2023 15:19:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 498263857025 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=49Q3DfcJE/zNEEh5orlXYgGaM4qkZ7QQkFYXBt34LNY=; b=LXCUdVN02iYQiNv9yqawzmJ0Eg0rfQB/rNsFaGmG2Z2So7KKrNijTpFspexThL/sSYHumh6ZibYFrtNqZmEmQbH2Z4z3uYaR2at4TPqFCtOyRo/Iuo+xQebUWmdp5DMFqF7xP6X2XE3DhFyu+IIdOC9TEW/iXgBTLXl08sWpSro= Received: from DUZPR01CA0111.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bb::12) by AM9PR08MB5890.eurprd08.prod.outlook.com (2603:10a6:20b:281::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Wed, 7 Jun 2023 15:19:26 +0000 Received: from DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4bb:cafe::2b) by DUZPR01CA0111.outlook.office365.com (2603:10a6:10:4bb::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.19 via Frontend Transport; Wed, 7 Jun 2023 15:19:26 +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 DBAEUR03FT025.mail.protection.outlook.com (100.127.142.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.24 via Frontend Transport; Wed, 7 Jun 2023 15:19:26 +0000 Received: ("Tessian outbound 3570909035da:v136"); Wed, 07 Jun 2023 15:19:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 60f25e4f319f2d99 X-CR-MTA-TID: 64aa7808 Received: from 5fde86270dc0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B5775BC6-2CC4-4DE4-8A26-C25537C2AFB7.1; Wed, 07 Jun 2023 15:19:19 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5fde86270dc0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 07 Jun 2023 15:19:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hBpBzP5I8seppFKTflT51XtE5sp7eJ0b60jrOhXfc1u7PR/MskZFTSrZMkNuGH/Yl/tOpm1/5pOxDSFZONIZEkM+fumqPc/WYtZFaVrcgWvV0WJZVrtiU0WLpivJpvUDhyl+sXpGxHBp/rxewJHOZTu9TMrRgg2r6NUFEJUaZaJSUZE7nqByyi6+n0i9bhm1aB5zfDsCpzOB+jtqY9lkc2WZEAmOWaf6JrjAjXO5oDYew5ejkh/ilsLABqTEyfFrwM6+CuypgUGZS+Y8GyAgXIut0PNovo08PtgKQ+BzcKlY43HmxDj1rbQ/t7s+2fsjO5LH1msjIGd+0zmxf2rA8A== 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=49Q3DfcJE/zNEEh5orlXYgGaM4qkZ7QQkFYXBt34LNY=; b=NMjT5lr20kRZ2eqYec13FEi6iiWw3kV5ksBJmJjEyb1DfpePJtDiGQAKLzf+yYiMzK5EqbLGnLAzYiSdIbAG1mTE/ywba3WXrowA41mRtnL3MrbrGvSZBLK9UNceY9OCeQDhbcnyrp7/yr82j/XH+Wer1NdFfx8p7ZEYfAU4hZbsd43w2yMXXnrqcOG1bpVm4GOAo1WCpMq+rVQpme8fWgfFS9KHchiEABZ7MtH440BVJCNTo30n0g4BudbKPsEus9GyK+20XWpKDli2xjJI6VbetzLANKjtFux5NfTRW7WF5ekBDZD4Z3UgfDevQVI0O0A5oqpaGAxpOwT13nJmEQ== 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=49Q3DfcJE/zNEEh5orlXYgGaM4qkZ7QQkFYXBt34LNY=; b=LXCUdVN02iYQiNv9yqawzmJ0Eg0rfQB/rNsFaGmG2Z2So7KKrNijTpFspexThL/sSYHumh6ZibYFrtNqZmEmQbH2Z4z3uYaR2at4TPqFCtOyRo/Iuo+xQebUWmdp5DMFqF7xP6X2XE3DhFyu+IIdOC9TEW/iXgBTLXl08sWpSro= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by DB4PR08MB9143.eurprd08.prod.outlook.com (2603:10a6:10:3fd::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Wed, 7 Jun 2023 15:19:15 +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.6455.030; Wed, 7 Jun 2023 15:19:15 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][committed] aarch64: Improve RTL representation of ADDP instructions Thread-Topic: [PATCH][committed] aarch64: Improve RTL representation of ADDP instructions Thread-Index: AdmZU2I1zwK7QyKeRo2ZP98arw5pNw== Date: Wed, 7 Jun 2023 15:19:15 +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_|DB4PR08MB9143:EE_|DBAEUR03FT025:EE_|AM9PR08MB5890:EE_ X-MS-Office365-Filtering-Correlation-Id: 34755cf7-7ddc-4aa2-51c7-08db676a9501 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: VLE5C1Vu1+/RQyd7TZmtWxwEoJPh/vZy3sNzugPvfBi7l7M+nU3vwHzH4CurzBt7B9dHLav0gAWa/kngldNlFtH8yw5Hgf5y5notOie9wUFeTZ90yPMfEPpZl7xtZf+AX3pe7nAlK+vcTk6cX4bln2GLMuHn+JMHIHCnfCm/qvD+Lo07ueyUW/PuoQJBvRTFk9fGNvvbSSEwg2MrnIaUkukLbKrEk8MDxLAaNeEmWJecdQtNx4BaA1CzSnUHyn2n8MLJh3nSoqVTR6f8UHvi95ORnaDgYwoA2swMRaCiT1p2XIvs2YtplgrsjBBh/CKlWvqZm8CfZZoK1l92J+CJtWcUUiqRIkAjyOZbXas6sIYXoW34hmOU03AtBtj2SQG7KA3qy4gKsBaVpbBcpQLF6Kl6fE8UsqI9b4Oamt2CqYxewaN/MGmFy7k0xW1nWgvlZhY3GWNIvrlMMFVWX50pQMZvAdbt+1FiSLyeR+D4drJnBb5ft4fAUHUmUw09BgFCGy/tI28HrfYN34U/YBiGzwTblSu8gn5lIdyQWP0z/fPKKFAlheUVrGaf7l78WVgK/TjGBCLil6knJplxyzw8lTVzwGgTKkdI3aea/K291OtiYA+pULjQ483pOb+v59IS 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)(346002)(366004)(396003)(376002)(136003)(451199021)(55236004)(9686003)(6506007)(26005)(186003)(99936003)(76116006)(4744005)(66476007)(64756008)(66446008)(66556008)(66946007)(122000001)(2906002)(7696005)(71200400001)(8936002)(5660300002)(86362001)(38100700002)(38070700005)(52536014)(8676002)(478600001)(55016003)(33656002)(316002)(41300700001)(6916009);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB69260E751588640B38CF6CEE9353APAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9143 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: DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c303f24e-2fae-4032-6a1c-08db676a8e67 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PMPHx7RqJDy7F490hnyYZzAsZFSbL1FHN/BCfhKzuBYCiAFLsej8v78zE1tBXNJaB5Vrj5YI2N1k2DQKHvWEoTg9CTUfCAj+64AR14NoFF3PVz+WMuzNxffeRzOjiMn4vD8X3nfiAATBBgXz8OwNdUw67PESY1LtTRzoAk/pB1upidZUnL2/0IC7wrV4V0fhpUai5gWKi0TJyYf4hRAitxcALwFoR8bWSkqPv/zTk0J8ulvXOeaMyXxsicsP/oeQDm2E7Jqjk6dLmj0xGC3xajhIlAqk0iHxtCLC/M4kVL5792TmXQM7uzRL+osFJ1Morvpxh6SBxDPbevaAd4YPXbfTRZsJtW0F3RSjENAzf7t92dafhRqNaD7byGNSNusvX5V2lyfGbleqXeBIJbLz3wn+hE8ZPI031g3dNUruVZyzPQLAvNs75Q+9c1cr1PBV1meNXaT8PXyQU+0pYqWCLLNOFgRBV/UAWJvJhVBdM/0ilHlTHqwWR5lCIYByNgpLquIgu/zjr65E6tIvwAgelff2RAOGr3KEnVuVUp5LtkpzF1A0/uNZsdMWcYblb19r4zAmqLERa8WPUj7GE3QIxmj9N1YiVsp3SzvBAJ+FWfqxkUz2ONTL5dAgadIZnEc6jUixuiaYcBCj7h4pGWPvIU7RE5torovpYsoO/y0+3U0XVDbNxC+f2nLS+zfWKlPBB8fWFL0tEwSJjRs3OD6kg5M5D7QaVGTI2A90KfiIza/PuhOmvan2v3IGIDKqPIHl 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)(376002)(346002)(136003)(39860400002)(396003)(451199021)(40470700004)(36840700001)(46966006)(8676002)(6916009)(70586007)(8936002)(70206006)(316002)(5660300002)(41300700001)(52536014)(235185007)(40480700001)(55016003)(2906002)(478600001)(40460700003)(356005)(81166007)(26005)(9686003)(86362001)(6506007)(186003)(99936003)(33656002)(82740400003)(7696005)(36860700001)(82310400005)(47076005)(336012);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2023 15:19:26.6986 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34755cf7-7ddc-4aa2-51c7-08db676a9501 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: DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5890 X-Spam-Status: No, score=-5.4 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_PAXPR08MB69260E751588640B38CF6CEE9353APAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, Similar to the ADDLP instructions the non-widening ADDP ones can be represented by adding the odd lanes with the even lanes of a vector. These instructions take two vector inputs and the architecture spec describes the operation as concatenating them together before going through it with pairwise additions. This patch chooses to represent ADDP on 64-bit and 128-bit input vectors slightly differently, reasons explained in the comments in aarhc64-simd.md. Bootstrapped and tested on aarch64-none-linux-gnu and aarch64_be-none-elf. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_addp): Reimplement as... (aarch64_addp_insn): ... This... (aarch64_addp_insn): ... And this. (aarch64_addp): New define_expand. --_002_PAXPR08MB69260E751588640B38CF6CEE9353APAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="addp-r.patch" Content-Description: addp-r.patch Content-Disposition: attachment; filename="addp-r.patch"; size=3335; creation-date="Wed, 07 Jun 2023 15:18:50 GMT"; modification-date="Wed, 07 Jun 2023 15:19:15 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQgYi9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCmluZGV4IGRiZDZmYzY4OTE0ZGMzYzI0YzM1MDM0 YzM3ZGM1Y2ZlN2U2OTllYzIuLmIyMzA2N2M2NzU0ZTZlNGM4MmY4NmRkYTI3NDk5YmM3YTRiNjc2 YzMgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZApAQCAtNzAxNCwxNyArNzAxNCw3MyBA QCAoZGVmaW5lX2luc24gImFhcmNoNjRfZmFjPG9wdGFiPjxtb2RlPjx2Y3psZT48dmN6YmU+Igog CiA7OyBhZGRwCiAKLShkZWZpbmVfaW5zbiAiYWFyY2g2NF9hZGRwPG1vZGU+PHZjemxlPjx2Y3pi ZT4iCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZEUV9JIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9 dyIpCi0gICAgICAgICh1bnNwZWM6VkRRX0kKLSAgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6VkRR X0kgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInciKQotCSAgIChtYXRjaF9vcGVyYW5kOlZEUV9JIDIg InJlZ2lzdGVyX29wZXJhbmQiICJ3IildCi0gICAgICAgICAgVU5TUEVDX0FERFApKV0KLSAgIlRB UkdFVF9TSU1EIgorOzsgQUREUCB3aXRoIHR3byByZWdpc3RlcnMgc2VtYW50aWNhbGx5IGNvbmNh dGVuYXRlcyB0aGVtIGFuZCBwZXJmb3JtcworOzsgYSBwYWlyd2lzZSBhZGRpdGlvbiBvbiB0aGUg cmVzdWx0LiAgRm9yIDEyOC1iaXQgaW5wdXQgbW9kZXMgcmVwcmVzZW50IHRoaXMKKzs7IGFzIGEg Y29uY2F0ZW50YXRpb24gb2YgdGhlIHBhaXJ3aXNlIGFkZGl0aW9uIHJlc3VsdHMgb2YgdGhlIHR3 byBpbnB1dAorOzsgcmVnaXN0ZXJzLiAgVGhpcyBhbGxvdyB1cyB0byBhdm9pZCB1c2luZyBpbnRl cm1lZGlhdGUgMjU2LWJpdCBtb2Rlcy4KKyhkZWZpbmVfaW5zbiAiYWFyY2g2NF9hZGRwPG1vZGU+ X2luc24iCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZRX0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIg Ij13IikKKwkodmVjX2NvbmNhdDpWUV9JCisJICAocGx1czo8VkhBTEY+CisJICAgICh2ZWNfc2Vs ZWN0OjxWSEFMRj4KKwkgICAgICAobWF0Y2hfb3BlcmFuZDpWUV9JIDEgInJlZ2lzdGVyX29wZXJh bmQiICJ3IikKKwkgICAgICAobWF0Y2hfb3BlcmFuZDpWUV9JIDMgInZlY3RfcGFyX2Nuc3RfZXZl bl9vcl9vZGRfaGFsZiIpKQorCSAgICAodmVjX3NlbGVjdDo8VkhBTEY+CisJICAgICAgKG1hdGNo X2R1cCAxKQorCSAgICAgIChtYXRjaF9vcGVyYW5kOlZRX0kgNCAidmVjdF9wYXJfY25zdF9ldmVu X29yX29kZF9oYWxmIikpKQorCSAgKHBsdXM6PFZIQUxGPgorCSAgICAodmVjX3NlbGVjdDo8VkhB TEY+CisJICAgICAgKG1hdGNoX29wZXJhbmQ6VlFfSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidyIp CisJICAgICAgKG1hdGNoX2R1cCAzKSkKKwkgICAgKHZlY19zZWxlY3Q6PFZIQUxGPgorCSAgICAg IChtYXRjaF9kdXAgMikKKwkgICAgICAobWF0Y2hfZHVwIDQpKSkpKV0KKyAgIlRBUkdFVF9TSU1E ICYmICFydHhfZXF1YWxfcCAob3BlcmFuZHNbM10sIG9wZXJhbmRzWzRdKSIKKyAgImFkZHBcdCU8 dj4wPFZtdHlwZT4sICU8dj4xPFZtdHlwZT4sICU8dj4yPFZtdHlwZT4iCisgIFsoc2V0X2F0dHIg InR5cGUiICJuZW9uX3JlZHVjX2FkZDxxPiIpXQorKQorCis7OyBGb3IgNjQtYml0IGlucHV0IG1v ZGVzIGFuIEFERFAgaXMgcmVwcmVzZW50ZWQgYXMgYSBjb25jYXRlbnRhdGlvbgorOzsgb2YgdGhl IGlucHV0IHJlZ2lzdGVycyBpbnRvIGFuIDEyOC1iaXQgcmVnaXN0ZXIgd2hpY2ggaXMgdGhlbiBm ZWQKKzs7IGludG8gYSBwYWlyd2lzZSBhZGQuICBUaGF0IHdheSB3ZSBhdm9pZCBoYXZpbmcgdG8g Y3JlYXRlIGludGVybWVkaWF0ZQorOzsgMzItYml0IHZlY3RvciBtb2Rlcy4KKyhkZWZpbmVfaW5z biAiYWFyY2g2NF9hZGRwPG1vZGU+PHZjemxlPjx2Y3piZT5faW5zbiIKKyAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VkRfQkhTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQorCShwbHVzOlZEX0JI U0kKKwkgICh2ZWNfc2VsZWN0OlZEX0JIU0kKKwkgICAgKHZlY19jb25jYXQ6PFZEQkw+CisJICAg ICAgKG1hdGNoX29wZXJhbmQ6VkRfQkhTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidyIpCisJICAg ICAgKG1hdGNoX29wZXJhbmQ6VkRfQkhTSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidyIpKQorCSAg ICAobWF0Y2hfb3BlcmFuZDo8VkRCTD4gMyAidmVjdF9wYXJfY25zdF9ldmVuX29yX29kZF9oYWxm IikpCisJICAodmVjX3NlbGVjdDpWRF9CSFNJCisJICAgICh2ZWNfY29uY2F0OjxWREJMPgorCSAg ICAgIChtYXRjaF9kdXAgMSkKKwkgICAgICAobWF0Y2hfZHVwIDIpKQorCSAgICAobWF0Y2hfb3Bl cmFuZDo8VkRCTD4gNCAidmVjdF9wYXJfY25zdF9ldmVuX29yX29kZF9oYWxmIikpKSldCisgICJU QVJHRVRfU0lNRCAmJiAhcnR4X2VxdWFsX3AgKG9wZXJhbmRzWzNdLCBvcGVyYW5kc1s0XSkiCiAg ICJhZGRwXHQlPHY+MDxWbXR5cGU+LCAlPHY+MTxWbXR5cGU+LCAlPHY+MjxWbXR5cGU+IgogICBb KHNldF9hdHRyICJ0eXBlIiAibmVvbl9yZWR1Y19hZGQ8cT4iKV0KICkKIAorKGRlZmluZV9leHBh bmQgImFhcmNoNjRfYWRkcDxtb2RlPiIKKyAgWyhtYXRjaF9vcGVyYW5kOlZEUV9JIDAgInJlZ2lz dGVyX29wZXJhbmQiKQorICAgKG1hdGNoX29wZXJhbmQ6VkRRX0kgMSAicmVnaXN0ZXJfb3BlcmFu ZCIpCisgICAobWF0Y2hfb3BlcmFuZDpWRFFfSSAyICJyZWdpc3Rlcl9vcGVyYW5kIildCisgICJU QVJHRVRfU0lNRCIKKyAgeworICAgIGludCBudW5pdHMgPSBHRVRfTU9ERV9OVU5JVFMgKDxNT0RF Pm1vZGUpLnRvX2NvbnN0YW50ICgpOworICAgIGlmIChrbm93bl9lcSAoR0VUX01PREVfQklUU0la RSAoPE1PREU+bW9kZSksIDEyOCkpCisgICAgICBudW5pdHMgLz0gMjsKKyAgICBydHggcGFyX2V2 ZW4gPSBhYXJjaDY0X2dlbl9zdGVwcGVkX2ludF9wYXJhbGxlbCAobnVuaXRzLCAwLCAyKTsKKyAg ICBydHggcGFyX29kZCA9IGFhcmNoNjRfZ2VuX3N0ZXBwZWRfaW50X3BhcmFsbGVsIChudW5pdHMs IDEsIDIpOworICAgIGlmIChCWVRFU19CSUdfRU5ESUFOKQorICAgICAgc3RkOjpzd2FwIChvcGVy YW5kc1sxXSwgb3BlcmFuZHNbMl0pOworICAgIGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfYWRkcDxt b2RlPl9pbnNuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sCisJCQkJCSAgICBvcGVyYW5kc1sy XSwgcGFyX2V2ZW4sIHBhcl9vZGQpKTsKKyAgICBET05FOworICB9CispCisKIDs7IHNxcnQKIAog KGRlZmluZV9leHBhbmQgInNxcnQ8bW9kZT4yIgo= --_002_PAXPR08MB69260E751588640B38CF6CEE9353APAXPR08MB6926eurp_--