From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150072.outbound.protection.outlook.com [40.107.15.72]) by sourceware.org (Postfix) with ESMTPS id 954BF3938C02 for ; Wed, 28 Apr 2021 13:51:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 954BF3938C02 Received: from DB6P192CA0012.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::22) by AM0PR08MB4579.eurprd08.prod.outlook.com (2603:10a6:208:108::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.24; Wed, 28 Apr 2021 13:51:29 +0000 Received: from DB5EUR03FT056.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:b8:cafe::77) by DB6P192CA0012.outlook.office365.com (2603:10a6:4:b8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Wed, 28 Apr 2021 13:51:29 +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 DB5EUR03FT056.mail.protection.outlook.com (10.152.21.124) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21 via Frontend Transport; Wed, 28 Apr 2021 13:51:29 +0000 Received: ("Tessian outbound 1e34f83e4964:v91"); Wed, 28 Apr 2021 13:51:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 45ff9ba8841dc27f X-CR-MTA-TID: 64aa7808 Received: from 4cfd2d3e4e03.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 49113599-5277-47A0-BD6C-0B0F11B2A8F9.1; Wed, 28 Apr 2021 13:51:18 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4cfd2d3e4e03.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 28 Apr 2021 13:51:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h1oCemNHxsXn1DCzALQsm2Pi85sRIeqdwwApyIUcU1Me9IY14AK+r2h9U6O6KivgBuKwXR0VQgfoNDU6/X2CwBaHqAtSZBQQpNCxYmEnteLQZAsNAfNURrKzh1Xeid+r/Lvifr9W3iWkYO9dRaTseOMt12nmUGmUU9ubQ3Tk9TsG8KkA7/uftNHlTI+oDDO813Iygl9BjEztzMIKAfeWJ4S0oQiJ0pZpTAdOoNy1+J9VLqtjRKul5ddxHJtX4ahbPzZwYhSzvr1Opb+w6JoCnoTJq1aq8xHLe2oRFDAcvKkx0vdpaS0Rls2cdJj5hsagyzhxxHHU5eyCTCArVrTzaw== 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=Sf2lCGiJ2Mes4xeP3lteZcmvCD25RGUumwAYN22it9c=; b=JDQNWPzXpdVhMx0L1x/q+6xKnbMmGht/gGcCSZM/m0iNVeGcNTroYRyTkDbvyXkfn0day2OLEWf9bOm2QQetoyNveGbCi3JP6vukTdlJvohqsGVDS3JQhkuJtrdPn3LM5u50T7cvZKEWgrMD9e5PfsvtGXiIgEbbnE4Y9wzCyx026a6XlNOcjZl4Dn0mhFAxPD6/snWTjmW32FizuPhWcwoWc4W0q1X/EMTSfsIqNqWXBJXy9EyYGPKtbudekRzQc7WB2Mhztk1LkZqO4JnBNDLg46Nd1TLiT+2nseAmGgRMXanjIVk4cPa3ciLsGdCymuQ9kYfQxfFnPo81RRjfGQ== 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 DBAPR08MB5751.eurprd08.prod.outlook.com (2603:10a6:10:1a0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Wed, 28 Apr 2021 13:51:16 +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.4065.027; Wed, 28 Apr 2021 13:51:16 +0000 From: Jonathan Wright To: "gcc-patches@gcc.gnu.org" Subject: [PATCH 4/20] aarch64: Use RTL builtins for [su]paddl[q] intrinsics Thread-Topic: [PATCH 4/20] aarch64: Use RTL builtins for [su]paddl[q] intrinsics Thread-Index: AQHXPDUbIZT+dYow8U6zQ8p94epLDQ== Date: Wed, 28 Apr 2021 13:51:15 +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.39] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 163c00fb-6c7f-49c8-32e2-08d90a4cb98f x-ms-traffictypediagnostic: DBAPR08MB5751:|AM0PR08MB4579: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:98;OLM:98; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: o6+kr7GTrP91U+Z4zyW8wHYa74JZJekPhdIipYOxgNDnHsJbXA5R8ObSxSgDkjDjf8MT5//HMJc5HvLTnm6evFgrSwciIQ9e+JVDO9SAtFeKPNhLo7J0kpXy/z0WkA04DiznWeBdzPZBNM8dOiGbWxqeXL+mtwsd0+IzFFCz7NylVHz677wUMhLVQQCgFqhNVbGHOOw1yMv6BawPnj+SXLpus1qNTUA8AHj2pTlh7mmumRoq35m+/4z1Pk/QkwbhxKh8kHidYNYWR+5Z3Ryf9K+VQDVLmCnWWfKrTEH2BhRkq5WDOYet8UMPUjC7qY6ynRPfvvvC7zmU5feqF4xFaCkUev6lg2TL+aNbXb6mHegyYUGgj42Ucv5NUowJXNx5lgQiWUjJW+SNKenJb0Cy5BgaRmyAeU1eHQuP6Q0LCN9+Mz3F7D6WufuwyixNX7fz543neACdQ07hXSLFXqna8l7BfagQfisBvFwntfbFrLfOy+68t7HSib+8GY+U7K0MWfWxEqVHygqY5e2H6NDKjHfTWiE2wfbuGJFUDHGnnVQLqfkcPqrwTjwlq1gqgRceVZeCIR2yNRJByS5JfMa/pU08y6Yw7nb+rrwvUS6S1jY= 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)(136003)(396003)(366004)(346002)(376002)(39860400002)(9686003)(64756008)(99936003)(26005)(66556008)(66946007)(76116006)(186003)(4744005)(66476007)(86362001)(66446008)(478600001)(66616009)(6506007)(55016002)(38100700002)(316002)(4326008)(71200400001)(2906002)(52536014)(33656002)(122000001)(5660300002)(6916009)(7696005)(8676002)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?uN/XpXTeFX1RHAUVRW0RdWo9CHzRqF/Xyg0bHIwYr7gB9tr3/bagofoLiX?= =?iso-8859-1?Q?2bvYeBnulIFyWv+k8m/d1H5+YNa7fTUOMiSsWiNcGSvt8P4lhTecraodqM?= =?iso-8859-1?Q?1yB/jAesCZCluUe87iHmwd5STPhJeNddwnYj/9huulcQ2vmYAVcVE0Eb/8?= =?iso-8859-1?Q?worXMlAQYUStp6eNXFZZVSLD654IavHKVCCkYVtM91brPTPIUbS2ePK1P5?= =?iso-8859-1?Q?f9jc15KLL0FtB0AoMVtzBgJhkfLsMg1BMA7/sCxCOLdOgctqwPdtZgZWDD?= =?iso-8859-1?Q?Is+u0JlaWJsuM1qqA48u7s9QIL4eq6qctxrv4hRWWPQsg/xBN5Ksf9uYO2?= =?iso-8859-1?Q?q18plQdv+BIFQUcnpkshXRrd78oEpJQ/m1Cw0T2cYaRaytMRxkT2VKCu5v?= =?iso-8859-1?Q?cQBPa1yP3QxXT2ZxaFpT/0VhQFmE2kpBZx+UJuAUCWXfxb5yIIhjMr4djx?= =?iso-8859-1?Q?20VG3r2vJ48eN70RQMVqfq4eWH8TRYk8sTPldCpp7NG0R9uNr5jlwxJc4e?= =?iso-8859-1?Q?Kzo5fl5S9fMBt7OuERumH0wH+fGctEXQsiq8V/QZgSFO+V+TRruG8nvfeG?= =?iso-8859-1?Q?WE8+qut7PTVXM0VHEYYdgf9ofJHPsV18DdgGJYWKqs0gIkRbLOSFLSaaO1?= =?iso-8859-1?Q?wnGHXH8o9SucAwIG/KAE3z/zi6pCjimARrrbvS0H4ltcRWmOM2NPt+1p87?= =?iso-8859-1?Q?oG5raNX872Nfv41Yh+Kxsso0jk5gNYZsaiZiBl+E9OLrjDL6GIQOB2nMku?= =?iso-8859-1?Q?enNhyCvH4Ztq8SuC0s2SASXCNiDFxcYT7hIBSwKlSXtefr/YlBvjFshhUs?= =?iso-8859-1?Q?/T4/SZJYqdM4mMbsQZUfSu+flGjugQg0OFHyalBjmmAwsiKYE8kp4H8szN?= =?iso-8859-1?Q?gKe65FHZKD2up+Vi7gr/CWA20sY05K55Oryk+K89CVMYQVI4oRSkvmi+4V?= =?iso-8859-1?Q?jlApth632aimeGGGhH4O3CPGEZuCoeKL/TTWMGKrRzovh8aga57v5Z6TNN?= =?iso-8859-1?Q?S824hBlFfpioMWCUu3EsOa+BkmC51kK+M2uJ7Lj6yvfl50rcrGEQpVRelN?= =?iso-8859-1?Q?Z5ii1aM7n9KGPJ3pn2t6JsVx0AZxLu/vfezR/QR/D0FtYxGgPiHZIwWEn9?= =?iso-8859-1?Q?JBcDZC2SE0c6CR3E7DiS17DRhqinC9b1K6rcZUYsso4Kdc7KTnwmL8s/g5?= =?iso-8859-1?Q?0t5AeOh0yx8fYxaaO+SQgHCAj//e0QY9f+x0q6ubU1jtp9DNerxK42sBRk?= =?iso-8859-1?Q?UnX0RphA55lcmRshtHceCPTD7jXqtrWYJX+y6JJ7VgVUkprux43eDxMRz4?= =?iso-8859-1?Q?C8JhxnjqhqgI4CYEYHXmnds/VCeIs3diOCMODlQbgKXsUQw=3D?= Content-Type: multipart/mixed; boundary="_002_DBBPR08MB47581546D83D9633964DA800EB409DBBPR08MB4758eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5751 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: DB5EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: bc65778a-b97c-48f5-7011-08d90a4cb1aa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tvR135jd2OESrXzBeurFdqg9+8K88qD5Derg4YOgPU2kqtobb2khcxkPLoT7mWw9LVDJImrESV9R8oll4a4a7yrRlHzXhjLf1abxaxCaUryOAKDttiKQTNwRcT3JOLkyGx1qKbDv3UgLeWhEBPD1gd4/L/8YMTllUvQ7lkXlo7/bI4EQ5k1Bsk/jDwEgJN9nSDddrT17PxfQuKtgpgUOLGfOLsKpc7kr0x0yvLw4ELRsOWDKM8DJG0O0btlJhAXRnqbvO6NPITBw1dSn7XbdWbNt/4QNKzmroXn9c+vg7mqeGJaI3533jz1o5ElrR7GW9ESTAXStCgsS/efymQq3fe5ldQ/AjO4pcsaK7IuRN2bPVz+gOayTd8HSiPYhfDnGo0HndNe0135bpiibp2rPyqPK2DjWQA9XFgTx4w4hpvIIFYFAvVlS651M0qsK/Ao5ffzXDAefgIQFVGgKdVbETghWXge6JIlPiaMXVxvG641rVtrRcrVzlcNYQu7V6CKmGzAR25ido6mhjZ8+4V7mSkiAwYWAjjVhR0GhzOIQ9KTOiStJPg/YEYTfKVZA9B/Ww/1iJRyrqrZ2BCmM6J9lH+NLYu64oOE5Hjjhxjlu/qF9o/4K1ZcWtzr6fDxsPWFRD4ehIF64B1/mm2f2ZHdxWWibfDK+RM7GXjwRz2V8xZyxXknWuwEkx6Tx0UF5XKzi 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)(136003)(346002)(396003)(376002)(39860400002)(46966006)(36840700001)(9686003)(8676002)(36860700001)(8936002)(235185007)(186003)(6916009)(7696005)(55016002)(4326008)(70586007)(33656002)(70206006)(47076005)(81166007)(316002)(82310400003)(26005)(34020700004)(52536014)(336012)(86362001)(6506007)(99936003)(356005)(478600001)(2906002)(66616009)(82740400003)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2021 13:51:29.6507 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 163c00fb-6c7f-49c8-32e2-08d90a4cb98f 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: DB5EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4579 X-Spam-Status: No, score=-9.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_LOW, 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: Wed, 28 Apr 2021 13:51:33 -0000 --_002_DBBPR08MB47581546D83D9633964DA800EB409DBBPR08MB4758eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=0A= =0A= As subject, this patch rewrites the [su]paddl[q] Neon intrinsics to use=0A= RTL builtins rather than inline assembly code, allowing for better=0A= scheduling and optimization.=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-02-08 =A0Jonathan Wright =A0=0A= =0A= * config/aarch64/aarch64-simd-builtins.def: Add [su]addlp=0A= builtin generator macros.=0A= * config/aarch64/aarch64-simd.md (aarch64_addlp):=0A= Define.=0A= * config/aarch64/arm_neon.h (vpaddl_s8): Use RTL builtin=0A= instead of inline asm.=0A= (vpaddl_s16): Likewise.=0A= (vpaddl_s32): Likewise.=0A= (vpaddl_u8): Likewise.=0A= (vpaddl_u16): Likewise.=0A= (vpaddl_u32): Likewise.=0A= (vpaddlq_s8): Likewise.=0A= (vpaddlq_s16): Likewise.=0A= (vpaddlq_s32): Likewise.=0A= (vpaddlq_u8): Likewise.=0A= (vpaddlq_u16): Likewise.=0A= (vpaddlq_u32): Liwewise.=0A= * config/aarch64/iterators.md: Define [SU]ADDLP unspecs with=0A= appropriate attributes.=0A= --_002_DBBPR08MB47581546D83D9633964DA800EB409DBBPR08MB4758eurp_ Content-Type: application/octet-stream; name="rb14137.patch" Content-Description: rb14137.patch Content-Disposition: attachment; filename="rb14137.patch"; size=7358; creation-date="Wed, 28 Apr 2021 13:50:41 GMT"; modification-date="Wed, 28 Apr 2021 13:50:41 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQtYnVpbHRpbnMuZGVm IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC1idWlsdGlucy5kZWYKaW5kZXggZGM3 YjVkMjJiNjU0ZDViY2NhMDE1MjkwN2MxYzY5Njc3NTVlOTU0OC4uMzQzMGY2MjdkMDlhOTk0NzBk ZDk0ODBjNTE3YmU4YTQxYzk2ZGRmMSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fh cmNoNjQtc2ltZC1idWlsdGlucy5kZWYKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c2ltZC1idWlsdGlucy5kZWYKQEAgLTE1Niw2ICsxNTYsMTAgQEAKICAgQlVJTFRJTl9WRFFfQkhT SSAoQklOT1AsIHNyaGFkZCwgMCwgTk9ORSkKICAgQlVJTFRJTl9WRFFfQkhTSSAoQklOT1AsIHVy aGFkZCwgMCwgTk9ORSkKIAorICAvKiBJbXBsZW1lbnRlZCBieSBhYXJjaDY0XzxzdT5hZGRscDxt b2RlPi4gICovCisgIEJVSUxUSU5fVkRRVl9MIChVTk9QLCBzYWRkbHAsIDAsIE5PTkUpCisgIEJV SUxUSU5fVkRRVl9MIChVTk9QVSwgdWFkZGxwLCAwLCBOT05FKQorCiAgIC8qIEltcGxlbWVudGVk IGJ5IGFhcmNoNjRfPHN1PmFkZGx2PG1vZGU+LiAgKi8KICAgQlVJTFRJTl9WRFFWX0wgKFVOT1As IHNhZGRsdiwgMCwgTk9ORSkKICAgQlVJTFRJTl9WRFFWX0wgKFVOT1BVLCB1YWRkbHYsIDAsIE5P TkUpCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kIGIvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZAppbmRleCA2ZmM0NzJjMTk0OTNkNmQxMGZi MWM1ZDA2ODZlNTE5ZDUzOTczNjkyLi5kZDk3MjUzZjRmMzkzY2EzN2U2MDhmMzkxOTQ5YTU2ODcy OWQ0NTJjIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCisr KyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKQEAgLTMxNjQsNiArMzE2NCwx NSBAQAogICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbl9yZWR1Y19hZGQ8cT4iKV0KICkKIAorKGRl ZmluZV9pbnNuICJhYXJjaDY0XzxzdT5hZGRscDxtb2RlPiIKKyBbKHNldCAobWF0Y2hfb3BlcmFu ZDo8VkRCTFc+IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dyIpCisgICAgICAgKHVuc3BlYzo8VkRC TFc+IFsobWF0Y2hfb3BlcmFuZDpWRFFWX0wgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInciKV0KKwkJ ICAgIFVTQURETFApKV0KKyAiVEFSR0VUX1NJTUQiCisgIjxzdT5hZGRscFxcdCUwLjxWd2hhbGY+ LCAlMS48VnR5cGU+IgorICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbl9yZWR1Y19hZGQ8cT4iKV0K KykKKwogOzsgQUREViB3aXRoIHJlc3VsdCB6ZXJvLWV4dGVuZGVkIHRvIFNJL0RJbW9kZSAoZm9y IHBvcGNvdW50KS4KIChkZWZpbmVfaW5zbiAiYWFyY2g2NF96ZXJvX2V4dGVuZDxHUEk6bW9kZT5f cmVkdWNfcGx1c188VkRRVl9FOm1vZGU+IgogIFsoc2V0IChtYXRjaF9vcGVyYW5kOkdQSSAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fy bV9uZW9uLmggYi9nY2MvY29uZmlnL2FhcmNoNjQvYXJtX25lb24uaAppbmRleCBiOGRlNzdiY2Mw MmRmZGRmNzM5ODA0NDI5MTllYzE5OTBlMjhlZTcyLi43MDMwNzBjZDI1N2U0NmJkMDQxYTY0ZDQ5 ZjFkNjRkYTMyMTI4NWZmIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYXJtX25lb24u aAorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYXJtX25lb24uaApAQCAtODUyMSwxNDQgKzg1MjEs ODQgQEAgX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgaW50MTZ4NF90CiBfX2F0dHJpYnV0 ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykp CiB2cGFkZGxfczggKGludDh4OF90IF9fYSkKIHsKLSAgaW50MTZ4NF90IF9fcmVzdWx0OwotICBf X2FzbV9fICgic2FkZGxwICUwLjRoLCUxLjhiIgotICAgICAgICAgICA6ICI9dyIoX19yZXN1bHQp Ci0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAgICAgICAgOiAvKiBObyBjbG9iYmVycyAqLyk7 Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIF9fYnVpbHRpbl9hYXJjaDY0X3NhZGRscHY4 cWkgKF9fYSk7CiB9CiAKIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGludDMyeDJfdAog X19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9pbmxpbmVfXywgX19hcnRp ZmljaWFsX18pKQogdnBhZGRsX3MxNiAoaW50MTZ4NF90IF9fYSkKIHsKLSAgaW50MzJ4Ml90IF9f cmVzdWx0OwotICBfX2FzbV9fICgic2FkZGxwICUwLjJzLCUxLjRoIgotICAgICAgICAgICA6ICI9 dyIoX19yZXN1bHQpCi0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAgICAgICAgOiAvKiBObyBj bG9iYmVycyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIF9fYnVpbHRpbl9hYXJj aDY0X3NhZGRscHY0aGkgKF9fYSk7CiB9CiAKIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5l IGludDY0eDFfdAogX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQogdnBhZGRsX3MzMiAoaW50MzJ4Ml90IF9fYSkKIHsKLSAg aW50NjR4MV90IF9fcmVzdWx0OwotICBfX2FzbV9fICgic2FkZGxwICUwLjFkLCUxLjJzIgotICAg ICAgICAgICA6ICI9dyIoX19yZXN1bHQpCi0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAgICAg ICAgOiAvKiBObyBjbG9iYmVycyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIChp bnQ2NHgxX3QpIF9fYnVpbHRpbl9hYXJjaDY0X3NhZGRscHYyc2kgKF9fYSk7CiB9CiAKIF9fZXh0 ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIHVpbnQxNng0X3QKIF9fYXR0cmlidXRlX18gKChfX2Fs d2F5c19pbmxpbmVfXywgX19nbnVfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKIHZwYWRkbF91 OCAodWludDh4OF90IF9fYSkKIHsKLSAgdWludDE2eDRfdCBfX3Jlc3VsdDsKLSAgX19hc21fXyAo InVhZGRscCAlMC40aCwlMS44YiIKLSAgICAgICAgICAgOiAiPXciKF9fcmVzdWx0KQotICAgICAg ICAgICA6ICJ3IihfX2EpCi0gICAgICAgICAgIDogLyogTm8gY2xvYmJlcnMgKi8pOwotICByZXR1 cm4gX19yZXN1bHQ7CisgIHJldHVybiBfX2J1aWx0aW5fYWFyY2g2NF91YWRkbHB2OHFpX3V1IChf X2EpOwogfQogCiBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGluZSB1aW50MzJ4Ml90CiBfX2F0 dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNp YWxfXykpCiB2cGFkZGxfdTE2ICh1aW50MTZ4NF90IF9fYSkKIHsKLSAgdWludDMyeDJfdCBfX3Jl c3VsdDsKLSAgX19hc21fXyAoInVhZGRscCAlMC4ycywlMS40aCIKLSAgICAgICAgICAgOiAiPXci KF9fcmVzdWx0KQotICAgICAgICAgICA6ICJ3IihfX2EpCi0gICAgICAgICAgIDogLyogTm8gY2xv YmJlcnMgKi8pOwotICByZXR1cm4gX19yZXN1bHQ7CisgIHJldHVybiBfX2J1aWx0aW5fYWFyY2g2 NF91YWRkbHB2NGhpX3V1IChfX2EpOwogfQogCiBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGlu ZSB1aW50NjR4MV90CiBfX2F0dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lu bGluZV9fLCBfX2FydGlmaWNpYWxfXykpCiB2cGFkZGxfdTMyICh1aW50MzJ4Ml90IF9fYSkKIHsK LSAgdWludDY0eDFfdCBfX3Jlc3VsdDsKLSAgX19hc21fXyAoInVhZGRscCAlMC4xZCwlMS4ycyIK LSAgICAgICAgICAgOiAiPXciKF9fcmVzdWx0KQotICAgICAgICAgICA6ICJ3IihfX2EpCi0gICAg ICAgICAgIDogLyogTm8gY2xvYmJlcnMgKi8pOwotICByZXR1cm4gX19yZXN1bHQ7CisgIHJldHVy biAodWludDY0eDFfdCkgX19idWlsdGluX2FhcmNoNjRfdWFkZGxwdjJzaV91dSAoX19hKTsKIH0K IAogX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgaW50MTZ4OF90CiBfX2F0dHJpYnV0ZV9f ICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpCiB2 cGFkZGxxX3M4IChpbnQ4eDE2X3QgX19hKQogewotICBpbnQxNng4X3QgX19yZXN1bHQ7Ci0gIF9f YXNtX18gKCJzYWRkbHAgJTAuOGgsJTEuMTZiIgotICAgICAgICAgICA6ICI9dyIoX19yZXN1bHQp Ci0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAgICAgICAgOiAvKiBObyBjbG9iYmVycyAqLyk7 Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIF9fYnVpbHRpbl9hYXJjaDY0X3NhZGRscHYx NnFpIChfX2EpOwogfQogCiBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGluZSBpbnQzMng0X3QK IF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxpbmVfXywgX19nbnVfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkKIHZwYWRkbHFfczE2IChpbnQxNng4X3QgX19hKQogewotICBpbnQzMng0X3Qg X19yZXN1bHQ7Ci0gIF9fYXNtX18gKCJzYWRkbHAgJTAuNHMsJTEuOGgiCi0gICAgICAgICAgIDog Ij13IihfX3Jlc3VsdCkKLSAgICAgICAgICAgOiAidyIoX19hKQotICAgICAgICAgICA6IC8qIE5v IGNsb2JiZXJzICovKTsKLSAgcmV0dXJuIF9fcmVzdWx0OworICByZXR1cm4gX19idWlsdGluX2Fh cmNoNjRfc2FkZGxwdjhoaSAoX19hKTsKIH0KIAogX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxp bmUgaW50NjR4Ml90CiBfX2F0dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lu bGluZV9fLCBfX2FydGlmaWNpYWxfXykpCiB2cGFkZGxxX3MzMiAoaW50MzJ4NF90IF9fYSkKIHsK LSAgaW50NjR4Ml90IF9fcmVzdWx0OwotICBfX2FzbV9fICgic2FkZGxwICUwLjJkLCUxLjRzIgot ICAgICAgICAgICA6ICI9dyIoX19yZXN1bHQpCi0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAg ICAgICAgOiAvKiBObyBjbG9iYmVycyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJu IF9fYnVpbHRpbl9hYXJjaDY0X3NhZGRscHY0c2kgKF9fYSk7CiB9CiAKIF9fZXh0ZW5zaW9uX18g ZXh0ZXJuIF9faW5saW5lIHVpbnQxNng4X3QKIF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxp bmVfXywgX19nbnVfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKIHZwYWRkbHFfdTggKHVpbnQ4 eDE2X3QgX19hKQogewotICB1aW50MTZ4OF90IF9fcmVzdWx0OwotICBfX2FzbV9fICgidWFkZGxw ICUwLjhoLCUxLjE2YiIKLSAgICAgICAgICAgOiAiPXciKF9fcmVzdWx0KQotICAgICAgICAgICA6 ICJ3IihfX2EpCi0gICAgICAgICAgIDogLyogTm8gY2xvYmJlcnMgKi8pOwotICByZXR1cm4gX19y ZXN1bHQ7CisgIHJldHVybiBfX2J1aWx0aW5fYWFyY2g2NF91YWRkbHB2MTZxaV91dSAoX19hKTsK IH0KIAogX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgdWludDMyeDRfdAogX19hdHRyaWJ1 dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9pbmxpbmVfXywgX19hcnRpZmljaWFsX18p KQogdnBhZGRscV91MTYgKHVpbnQxNng4X3QgX19hKQogewotICB1aW50MzJ4NF90IF9fcmVzdWx0 OwotICBfX2FzbV9fICgidWFkZGxwICUwLjRzLCUxLjhoIgotICAgICAgICAgICA6ICI9dyIoX19y ZXN1bHQpCi0gICAgICAgICAgIDogInciKF9fYSkKLSAgICAgICAgICAgOiAvKiBObyBjbG9iYmVy cyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIF9fYnVpbHRpbl9hYXJjaDY0X3Vh ZGRscHY4aGlfdXUgKF9fYSk7CiB9CiAKIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIHVp bnQ2NHgyX3QKIF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxpbmVfXywgX19nbnVfaW5saW5l X18sIF9fYXJ0aWZpY2lhbF9fKSkKIHZwYWRkbHFfdTMyICh1aW50MzJ4NF90IF9fYSkKIHsKLSAg dWludDY0eDJfdCBfX3Jlc3VsdDsKLSAgX19hc21fXyAoInVhZGRscCAlMC4yZCwlMS40cyIKLSAg ICAgICAgICAgOiAiPXciKF9fcmVzdWx0KQotICAgICAgICAgICA6ICJ3IihfX2EpCi0gICAgICAg ICAgIDogLyogTm8gY2xvYmJlcnMgKi8pOwotICByZXR1cm4gX19yZXN1bHQ7CisgIHJldHVybiBf X2J1aWx0aW5fYWFyY2g2NF91YWRkbHB2NHNpX3V1IChfX2EpOwogfQogCiBfX2V4dGVuc2lvbl9f IGV4dGVybiBfX2lubGluZSBpbnQ4eDE2X3QKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2 NC9pdGVyYXRvcnMubWQgYi9nY2MvY29uZmlnL2FhcmNoNjQvaXRlcmF0b3JzLm1kCmluZGV4IGZi NmUyMjg2NTFlYWU2YTJkYjhjMWFjNzU1ODg1YWU3YWQ5MjI1ZDYuLjIwZWY0OWYwMTE1MTAzNDlk YTVlOGM2MzMwYTMyY2M0YzVjOTJhNGMgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9p dGVyYXRvcnMubWQKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2l0ZXJhdG9ycy5tZApAQCAtNTUz LDYgKzU1Myw4IEBACiAgICAgVU5TUEVDX1NTSExMCTsgVXNlZCBpbiBhYXJjaDY0LXNpbWQubWQu CiAgICAgVU5TUEVDX1VTSExMCTsgVXNlZCBpbiBhYXJjaDY0LXNpbWQubWQuCiAgICAgVU5TUEVD X0FERFAJCTsgVXNlZCBpbiBhYXJjaDY0LXNpbWQubWQuCisgICAgVU5TUEVDX1NBRERMUAk7IFVz ZWQgaW4gYWFyY2g2NC1zaW1kLm1kLgorICAgIFVOU1BFQ19VQURETFAJOyBVc2VkIGluIGFhcmNo NjQtc2ltZC5tZC4KICAgICBVTlNQRUNfVEJMCQk7IFVzZWQgaW4gdmVjdG9yIHBlcm11dGUgcGF0 dGVybnMuCiAgICAgVU5TUEVDX1RCWAkJOyBVc2VkIGluIHZlY3RvciBwZXJtdXRlIHBhdHRlcm5z LgogICAgIFVOU1BFQ19DT05DQVQJOyBVc2VkIGluIHZlY3RvciBwZXJtdXRlIHBhdHRlcm5zLgpA QCAtMjIxMCw2ICsyMjEyLDggQEAKIAogKGRlZmluZV9pbnRfaXRlcmF0b3IgU1ZFX0lOVF9BRERW IFtVTlNQRUNfU0FERFYgVU5TUEVDX1VBRERWXSkKIAorKGRlZmluZV9pbnRfaXRlcmF0b3IgVVNB RERMUCBbVU5TUEVDX1NBRERMUCBVTlNQRUNfVUFERExQXSkKKwogKGRlZmluZV9pbnRfaXRlcmF0 b3IgVVNBRERMViBbVU5TUEVDX1NBRERMViBVTlNQRUNfVUFERExWXSkKIAogKGRlZmluZV9pbnRf aXRlcmF0b3IgTE9HSUNBTEYgW1VOU1BFQ19BTkRGIFVOU1BFQ19JT1JGIFVOU1BFQ19YT1JGXSkK QEAgLTI5NjIsNiArMjk2Niw4IEBACiA7OyAicyIgZm9yIHNpZ25lZCBvcGVyYXRpb25zIGFuZCAi dSIgZm9yIHVuc2lnbmVkIG9uZXMuCiAoZGVmaW5lX2ludF9hdHRyIHN1IFsoVU5TUEVDX1NBRERW ICJzIikKIAkJICAgICAoVU5TUEVDX1VBRERWICJ1IikKKwkJICAgICAoVU5TUEVDX1NBRERMUCAi cyIpCisJCSAgICAgKFVOU1BFQ19VQURETFAgInUiKQogCQkgICAgIChVTlNQRUNfU0FERExWICJz IikKIAkJICAgICAoVU5TUEVDX1VBRERMViAidSIpCiAJCSAgICAgKFVOU1BFQ19VTlBBQ0tTSEkg InMiKQo= --_002_DBBPR08MB47581546D83D9633964DA800EB409DBBPR08MB4758eurp_--