From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80089.outbound.protection.outlook.com [40.107.8.89]) by sourceware.org (Postfix) with ESMTPS id 57B76398B167 for ; Tue, 15 Jun 2021 09:59:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 57B76398B167 Received: from AM5PR0602CA0024.eurprd06.prod.outlook.com (2603:10a6:203:a3::34) by PAXPR08MB6733.eurprd08.prod.outlook.com (2603:10a6:102:15e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.22; Tue, 15 Jun 2021 09:59:15 +0000 Received: from VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:a3:cafe::61) by AM5PR0602CA0024.outlook.office365.com (2603:10a6:203:a3::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21 via Frontend Transport; Tue, 15 Jun 2021 09:59:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (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=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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT022.mail.protection.outlook.com (10.152.18.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21 via Frontend Transport; Tue, 15 Jun 2021 09:59:14 +0000 Received: ("Tessian outbound 9d3d496fabe8:v93"); Tue, 15 Jun 2021 09:59:14 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3ee5cc61ab973fa0 X-CR-MTA-TID: 64aa7808 Received: from 10342b3bab39.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1061EBCC-B2D0-4E4A-A701-EA577AC3E066.1; Tue, 15 Jun 2021 09:59:02 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 10342b3bab39.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 15 Jun 2021 09:59:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LOXAbTiyJVNOp638Gp+d9As0/V9MNqhaCice6ECehkAekxFggxXODzgI8yKqgU4c4h+QBQLl3X7CWO/xlea14fFYtf8vHn5XxcKkoiyi5my6MImM8B+Rm6YrfwZgGOHH17CrR9J/VXqhDLemtkRZyIVeWVbnjnyd/k3m/ScVO+HQUq/7Gqcev7I+1YGNylMS2KQhNcNeezGieITDIVDof8yIUOf8xoFVonmsy7JPOqMePGNTgaw9CytLfMhCG1qZ7KgzZ4Iu1HrmF466BoZl9fiLBmAOE9ZlYosNrxAg+3oThOuoUle4B7XJJxtlgBOYqObM97u1hIILRY2emU8h6Q== 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=jVir4zWJnmdr/Pez8vC/qjsK0erZjpGjzP/A3TA7kxA=; b=HMK/qiRHOY6pWovOF/oEZxSXpxtWVdPqs5G2QaQ2lmhlxf9JMIZUXxG2D2APtMcyMM+L698rLF0WXDoqj1ITmS9OKpGuRxmR1UtQweWaYC+6ylhi52lZF4dA6ZK3BnJUltQyrhKam6CybMyucIesGrJ+/ERRZ1wQQhsK52xvt8i31BDNTbQgvv2YF5UxNQwMDMJfVluqVpUB72p0tND+FosWoZoJFu/npOn7agAVP62Crb/UlxyM6zwkPq6uNRC4MF1jq1Ji36frzRn0YBrqSVJd6t9JDQCTTnb7QbkZV6iPqH8hMs7ojnbpHT6mioQf0NhAbHI1J6rqXNJCIMgmQw== 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 Received: from DBBPR08MB4758.eurprd08.prod.outlook.com (2603:10a6:10:da::16) by DB6PR0802MB2262.eurprd08.prod.outlook.com (2603:10a6:4:84::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Tue, 15 Jun 2021 09:59:01 +0000 Received: from DBBPR08MB4758.eurprd08.prod.outlook.com ([fe80::a957:f052:5e74:6c02]) by DBBPR08MB4758.eurprd08.prod.outlook.com ([fe80::a957:f052:5e74:6c02%7]) with mapi id 15.20.4219.025; Tue, 15 Jun 2021 09:59:01 +0000 From: Jonathan Wright To: "gcc-patches@gcc.gnu.org" Subject: [PATCH] aarch64: Model zero-high-half semantics of [SU]QXTN instructions Thread-Topic: [PATCH] aarch64: Model zero-high-half semantics of [SU]QXTN instructions Thread-Index: AQHXYcy40X27xRzsDEOV+yWnDSDOpA== Date: Tue, 15 Jun 2021 09:59:00 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [31.48.14.35] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: e3fe02d2-fc6d-4972-8e96-08d92fe43ba4 x-ms-traffictypediagnostic: DB6PR0802MB2262:|PAXPR08MB6733: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:6108;OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: /MLLqM5gwhD3Mr0zZpLb8+J25fwCsamfZqi82Ge6kVG9Xg3CbS3ILXcJtHdoUh2/yCsI1HV2yii3uEMkmHEZfbV8Ya5HS8xvN69ZdTKszz+YicAL6jv1V0kHtJxv39y3nHdAKfVTccbsFcMYpxWhVJPTyViEPL+1WAB/6p/OF3tgaOpk91K5N8tdaD+IvB6+bLV6bXoQzRUIJNIdLEufdeeDefVgbiiHmUhJY8b5bmkyhVqqFgWWroqlOXyFJQOvrLNiU8ts0Cx2Bt1k6ooB9EdPho+fH/GiGFNBCJWz1bPB+aBCQ7o2sCv/QsvALw1g/fIiEPlJly6dsNkhwlA+smybg+3gi8Th6cS1/k6vVMaislsNTUSxzaxH73YiTv5CXjOUpuEWHvRItWYWx7YwVIucMObMWURCtYiM+mgizxnforYrCEhllf0H9+b9g6jFt8RhZClxm1hQjsyLQoia1Rvc1/I6B6cRe2YczMCzOL/1wlnUpUXdDJxNiVq/jPrf8FK5ko8Mrvvyx8uGPVFgaxA/nBNmVPuN7xgCrhMUh690CQL0g8wrlquzrMUppI77HudXAAf+LBvmWS95isfHxBg9WFibLDis7m6CGbI+3BY= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4758.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(366004)(136003)(39850400004)(346002)(86362001)(7696005)(26005)(91956017)(76116006)(52536014)(478600001)(186003)(4326008)(6506007)(4744005)(33656002)(8936002)(8676002)(71200400001)(2906002)(122000001)(9686003)(5660300002)(99936003)(38100700002)(6916009)(55016002)(66946007)(66556008)(66476007)(64756008)(66446008)(66616009)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?A0BxWSonvaRJIrokMbFY2VZ8r3O/taftPuYEAI4z+I/5muGNRed0Tdwilv?= =?iso-8859-1?Q?BBeC7ALaf9j0bJUg3QJ7fxalTNlksaxuz+dfRhkcessbgd2fCTZACk7aWu?= =?iso-8859-1?Q?993Zl55RYfgkVm6PwtxpZMDVkvM2LrjIvTpkmsX0ngVyqit+p+GpNJkH6F?= =?iso-8859-1?Q?X3z9+G+MLKl3Li2rilEvUasB9b9USkxSLKfdYBR4qi+2jJ7RS9vYFv9AhQ?= =?iso-8859-1?Q?J9xOGaQY4fBugNOtdzJzoARf5GHAMNjwdx4cjXlM+iTI5DP0jP3q5PzKvN?= =?iso-8859-1?Q?rqtFdRhXiI8WWR7rTY1xvTiJtNOaq5j3LKThYmNWdUmwpb60klf6vYiQdG?= =?iso-8859-1?Q?LOdt1ZPCYmhyl8YaRGKm4QAKNyFFkzNHS9JiBrZl3nsd4liABhuZd507VV?= =?iso-8859-1?Q?dEwQiaDvTqkNlniwy3blUBwXeaKVUmYnVLVKjXyoXZ1ScYvxDyvnr17zqb?= =?iso-8859-1?Q?GbXUjanFf/2KgLcba2sNBudeWiS8auOjnnOWlFq7+qCGJfoZvCByQE9bf7?= =?iso-8859-1?Q?pQR3ZVQEbA62rbQ0wvXJJHOAdHNWI/jNrWdQ46uXDvRHJHDz1M75IdtWmj?= =?iso-8859-1?Q?O34vjoaAJxA4zuBO1hi/3SWnY1+rt2irWdYLO9Ij/VItAkKAYN3Jvt0bA7?= =?iso-8859-1?Q?lIrzslhcbWffZzsOD3pnauh9PNVDM+40DMiKBw1XZKec5mTHwXfcqbXJqG?= =?iso-8859-1?Q?41JhA8SCv9IAHqVI+oe8vIjunQPggl56X+9UAWfLLM+FtVB4jQnNHu/ItX?= =?iso-8859-1?Q?NZUW5mQV5WPMCj8VLWzZPSjzvj7omCGx7JFXTw9zyN8bb2w1UTk79wuJeH?= =?iso-8859-1?Q?IfvRpiRFuP0y/i6aabnNi7QRP+hThtHLxucQtxxF/ELeI+7c8GfQqHEFKp?= =?iso-8859-1?Q?nXJ4qWPuRICMEJ8R1r+vEjuvvvD50G5wKZu8S1iz9nVhzNjzl1Y8iAVCPP?= =?iso-8859-1?Q?H7sGEhgYl8aq8+Y3j/V+TuJ7yMtEDG3DmWqN51WZ3V5LVNe0LXa9V9eixM?= =?iso-8859-1?Q?pF1J4ReeNF6yO/e3Hztyo00biyC4H0inSTdB6JEB0tF101q4nE6LubhUcG?= =?iso-8859-1?Q?E6IhLNdBOvNiCYQKl6Qs+CRDvDQVbygiLOAC2k3VW6E6t3wnvBJlwYV6hC?= =?iso-8859-1?Q?z72wV5zCHgceAXo3BLVfEop166aeJ8cYwKGxMI/NrSn9rBrQzdqboT2c/G?= =?iso-8859-1?Q?ZI8uFfh+5ck1w4Ci1I4XG/ca6RtsXRvwlAs7l3NZrAO7wadu7muJa+bZqM?= =?iso-8859-1?Q?NAw7+t2T1S1+Y6Oxh78BQqeHWfgYV5r3C1wxVv6iG1G8dV0IKAQ0a3zNKx?= =?iso-8859-1?Q?7AhpFAhre3YhPaJlV+RUOcK3cbe+A1Sul1GMU3mAlezffGQ=3D?= Content-Type: multipart/mixed; boundary="_002_DBBPR08MB47582F636ADEA97E17516B7AEB309DBBPR08MB4758eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2262 Original-Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 239884d8-7411-48ef-c1b0-08d92fe43368 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3J0E4QTVtL+Kv/2qXoiOK+RwiF+eicU24U9RC5sfPbO6lp7JrwwF+MEkKeHJySLfnbWBhNv/zJgoDaps/ftswwylJ3fU48lfdkSh0ABK1NC5vNLriKk504ThfGpAT9u9c568LW0Pt6yeuzUtjTvYPmvrVrUQkRXY9cYwafCP6pOgEY/jb0Kvh5eWlpBczsg7fJiSi86fWxgUhuIRM9s0t2x2olVdAxUthsnHPB8NuEKWkkX+CP0xkaMY474TuQPfH+P5/tBya143+dQwTErC0rBw5HRolpguAPW+B5ndr5b3pJaerEzQpJuWLUXz9DJtk6js0CLPN8NEYgCu7evJ7Z/Kp30c9Embh3xEqdRlg5/TdmeEJQKzUnAqZBQQZAcZa4L2xsRbzEITh0uWmyNZW1bZG/AQ0u7gZ/19s3bXCFSizomX7ms2qWgBQNxwNcoyYNs7kP5e3aGX6mqV5PThNfBAf/+5ebl/GzjymyQ2pjXWtvVvk43m5dQ1hvF+hxZY4CKwNUQbDIZoeZZ7PxCuhLEheRLsQk8at+0XhQjdhR6tD0QeUOGiT2mJp8LXeGtOHzr3l0YIuWJnYEeW5qD8LSzgVBgPI8fUPBtsK0qYiEZqRy/Bx+8oVFxfDZjguqqqfxkrlP7+9mTVed2S2+QmkA9T1hd2air9d6Osu/E3YDs= 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:(4636009)(376002)(136003)(396003)(346002)(39850400004)(46966006)(36840700001)(4326008)(52536014)(6506007)(186003)(2906002)(8936002)(86362001)(478600001)(47076005)(26005)(8676002)(9686003)(70586007)(99936003)(70206006)(55016002)(81166007)(6916009)(33656002)(356005)(5660300002)(235185007)(36860700001)(336012)(316002)(82740400003)(66616009)(7696005)(82310400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2021 09:59:14.8117 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e3fe02d2-fc6d-4972-8e96-08d92fe43ba4 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: VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6733 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jun 2021 09:59:19 -0000 --_002_DBBPR08MB47582F636ADEA97E17516B7AEB309DBBPR08MB4758eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=0A= =0A= As subject, this patch first splits the aarch64_qmovn=0A= pattern into separate scalar and vector variants. It then further splits=0A= the vector RTL =A0pattern into big/little endian variants that model the=0A= zero-high-half semantics of the underlying instruction. Modeling=0A= these semantics allows for better RTL combinations while also=0A= removing some register allocation issues as the compiler now knows=0A= that the operation is totally destructive.=0A= =0A= Regression tested and bootstrapped on aarch64-none-linux-gnu - no=0A= issues.=0A= =0A= Ok for master?=0A= =0A= Thanks,=0A= Jonathan=0A= =0A= ---=0A= =0A= gcc/ChangeLog:=0A= =0A= 2021-06-14 =A0Jonathan Wright =A0=0A= =0A= * config/aarch64/aarch64-simd-builtins.def: Split generator=0A= for aarch64_qmovn builtins into scalar and vector=0A= variants.=0A= * config/aarch64/aarch64-simd.md (aarch64_qmovn_insn_le):=0A= Define.=0A= (aarch64_qmovn_insn_be): Define.=0A= (aarch64_qmovn): Split into scalar and vector=0A= variants. Change vector variant to an expander that emits the=0A= correct instruction depending on endianness.=0A= --_002_DBBPR08MB47582F636ADEA97E17516B7AEB309DBBPR08MB4758eurp_ Content-Type: application/octet-stream; name="rb14565.patch" Content-Description: rb14565.patch Content-Disposition: attachment; filename="rb14565.patch"; size=3108; creation-date="Tue, 15 Jun 2021 09:58:37 GMT"; modification-date="Tue, 15 Jun 2021 09:58:37 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQtYnVpbHRpbnMuZGVm IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC1idWlsdGlucy5kZWYKaW5kZXggMmFk YjRiMTI3NTI3Nzk0ZDE5YjJiYmQ0ODU5ZjA4OWQzZGE0Nzc2My4uYWM1ZDRmYzdmZjFlNjFkNDA0 ZTY2MTkzYjYyOTk4NjM4MmVlNGZmZCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fh cmNoNjQtc2ltZC1idWlsdGlucy5kZWYKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c2ltZC1idWlsdGlucy5kZWYKQEAgLTI3MSw4ICsyNzEsMTAgQEAKICAgQlVJTFRJTl9WUU4gKEJJ Tk9QX1VVUywgc3F4dHVuMiwgMCwgTk9ORSkKIAogICAvKiBJbXBsZW1lbnRlZCBieSBhYXJjaDY0 XzxzdT5xbW92bjxtb2RlPi4gICovCi0gIEJVSUxUSU5fVlNRTl9IU0RJIChVTk9QLCBzcW1vdm4s IDAsIE5PTkUpCi0gIEJVSUxUSU5fVlNRTl9IU0RJIChVTk9QLCB1cW1vdm4sIDAsIE5PTkUpCisg IEJVSUxUSU5fVlFOIChVTk9QLCBzcW1vdm4sIDAsIE5PTkUpCisgIEJVSUxUSU5fU0RfSFNESSAo VU5PUCwgc3Ftb3ZuLCAwLCBOT05FKQorICBCVUlMVElOX1ZRTiAoVU5PUCwgdXFtb3ZuLCAwLCBO T05FKQorICBCVUlMVElOX1NEX0hTREkgKFVOT1AsIHVxbW92biwgMCwgTk9ORSkKIAogICAvKiBJ bXBsZW1lbnRlZCBieSBhYXJjaDY0XzxzdT5xeHRuMjxtb2RlPi4gICovCiAgIEJVSUxUSU5fVlFO IChCSU5PUCwgc3F4dG4yLCAwLCBOT05FKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0 L2FhcmNoNjQtc2ltZC5tZCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKaW5k ZXggNTk3NzliODUxZmJlZWNiMTdjZDJjZGRiYjBlZDg3NzBhMjI3NjJiNS4uMmI3NWU1N2ViNzdh MGRlYTQ0OWYyYzEzYmQ3N2E4OGY0OGM0Y2VhNSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQtc2ltZC5tZAorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1k Lm1kCkBAIC00ODc1LDEwICs0ODc1LDU0IEBACiAoZGVmaW5lX2luc24gImFhcmNoNjRfPHN1PnFt b3ZuPG1vZGU+IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk5BUlJPV1E+IDAgInJlZ2lzdGVy X29wZXJhbmQiICI9dyIpCiAJKFNBVF9UUlVOQzo8Vk5BUlJPV1E+Ci0gICAgKG1hdGNoX29wZXJh bmQ6VlNRTl9IU0RJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ3IikpKV0KKwkgIChtYXRjaF9vcGVy YW5kOlNEX0hTREkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInciKSkpXQogICAiVEFSR0VUX1NJTUQi CiAgICI8c3U+cXh0blxcdCU8dm4yPjA8Vm1udHlwZT4sICU8dj4xPFZtdHlwZT4iCi0gICBbKHNl dF9hdHRyICJ0eXBlIiAibmVvbl9zYXRfc2hpZnRfaW1tX25hcnJvd19xIildCisgIFsoc2V0X2F0 dHIgInR5cGUiICJuZW9uX3NhdF9zaGlmdF9pbW1fbmFycm93X3EiKV0KKykKKworKGRlZmluZV9p bnNuICJhYXJjaDY0XzxzdT5xbW92bjxtb2RlPl9pbnNuX2xlIgorICBbKHNldCAobWF0Y2hfb3Bl cmFuZDo8Vk5BUlJPV1EyPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQorCSh2ZWNfY29uY2F0 OjxWTkFSUk9XUTI+CisJICAoU0FUX1RSVU5DOjxWTkFSUk9XUT4KKwkgICAgKG1hdGNoX29wZXJh bmQ6VlFOIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ3IikpCisJICAobWF0Y2hfb3BlcmFuZDo8Vk5B UlJPV1E+IDIgImFhcmNoNjRfc2ltZF9vcl9zY2FsYXJfaW1tX3plcm8iKSkpXQorICAiVEFSR0VU X1NJTUQgJiYgIUJZVEVTX0JJR19FTkRJQU4iCisgICI8c3U+cXh0blxcdCU8dm4yPjA8Vm1udHlw ZT4sICU8dj4xPFZtdHlwZT4iCisgIFsoc2V0X2F0dHIgInR5cGUiICJuZW9uX3NhdF9zaGlmdF9p bW1fbmFycm93X3EiKV0KKykKKworKGRlZmluZV9pbnNuICJhYXJjaDY0XzxzdT5xbW92bjxtb2Rl Pl9pbnNuX2JlIgorICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk5BUlJPV1EyPiAwICJyZWdpc3Rl cl9vcGVyYW5kIiAiPXciKQorCSh2ZWNfY29uY2F0OjxWTkFSUk9XUTI+CisJICAobWF0Y2hfb3Bl cmFuZDo8Vk5BUlJPV1E+IDIgImFhcmNoNjRfc2ltZF9vcl9zY2FsYXJfaW1tX3plcm8iKQorCSAg KFNBVF9UUlVOQzo8Vk5BUlJPV1E+CisJICAgIChtYXRjaF9vcGVyYW5kOlZRTiAxICJyZWdpc3Rl cl9vcGVyYW5kIiAidyIpKSkpXQorICAiVEFSR0VUX1NJTUQgJiYgQllURVNfQklHX0VORElBTiIK KyAgIjxzdT5xeHRuXFx0JTx2bjI+MDxWbW50eXBlPiwgJTx2PjE8Vm10eXBlPiIKKyAgWyhzZXRf YXR0ciAidHlwZSIgIm5lb25fc2F0X3NoaWZ0X2ltbV9uYXJyb3dfcSIpXQorKQorCisoZGVmaW5l X2V4cGFuZCAiYWFyY2g2NF88c3U+cW1vdm48bW9kZT4iCisgIFsoc2V0IChtYXRjaF9vcGVyYW5k OjxWTkFSUk9XUT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIpCisJKFNBVF9UUlVOQzo8Vk5BUlJPV1E+ CisJICAobWF0Y2hfb3BlcmFuZDpWUU4gMSAicmVnaXN0ZXJfb3BlcmFuZCIpKSldCisgICJUQVJH RVRfU0lNRCIKKyAgeworICAgIHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoPFZOQVJST1dRMj5tb2Rl KTsKKyAgICBpZiAoQllURVNfQklHX0VORElBTikKKyAgICAgIGVtaXRfaW5zbiAoZ2VuX2FhcmNo NjRfPHN1PnFtb3ZuPG1vZGU+X2luc25fYmUgKHRtcCwgb3BlcmFuZHNbMV0sCisJCQkJQ09OU1Qw X1JUWCAoPFZOQVJST1dRPm1vZGUpKSk7CisgICAgZWxzZQorICAgICAgZW1pdF9pbnNuIChnZW5f YWFyY2g2NF88c3U+cW1vdm48bW9kZT5faW5zbl9sZSAodG1wLCBvcGVyYW5kc1sxXSwKKwkJCQlD T05TVDBfUlRYICg8Vk5BUlJPV1E+bW9kZSkpKTsKKworICAgIC8qIFRoZSBpbnRyaW5zaWMgZXhw ZWN0cyBhIG5hcnJvdyByZXN1bHQsIHNvIGVtaXQgYSBzdWJyZWcgdGhhdCB3aWxsIGdldAorICAg ICAgIG9wdGltaXplZCBhd2F5IGFzIGFwcHJvcHJpYXRlLiAgKi8KKyAgICBlbWl0X21vdmVfaW5z biAob3BlcmFuZHNbMF0sIGxvd3BhcnRfc3VicmVnICg8Vk5BUlJPV1E+bW9kZSwgdG1wLAorCQkJ CQkJIDxWTkFSUk9XUTI+bW9kZSkpOworICAgIERPTkU7CisgIH0KICkKIAogKGRlZmluZV9pbnNu ICJhYXJjaDY0XzxzdT5xeHRuMjxtb2RlPl9sZSIK --_002_DBBPR08MB47582F636ADEA97E17516B7AEB309DBBPR08MB4758eurp_--