From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2089.outbound.protection.outlook.com [40.107.20.89]) by sourceware.org (Postfix) with ESMTPS id 1DFE83858D28 for ; Mon, 24 Apr 2023 08:57:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1DFE83858D28 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=nAIbMOfoJ7SaN8FdDRgU3dEpSR1LDh5d6WY8VUCzpO4=; b=zUGXBmePuBeIHOWLpyvP+RT1+5a2d3dvOrVe+BK48PTzqOFJa/7OMoqhhXTAiLy27lZkldoa4IaZQlBIkuYnOXJWZQJ4H3CyDFTHrTmLqEAXmu+OgdZf6Naq7YDYHDn0I84QrUt6lGBj3jfNAzT+vTzamEj5zNPxC7XWRQix094= Received: from DB9PR05CA0013.eurprd05.prod.outlook.com (2603:10a6:10:1da::18) by AM7PR08MB5352.eurprd08.prod.outlook.com (2603:10a6:20b:10e::8) 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:56:59 +0000 Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1da:cafe::9e) by DB9PR05CA0013.outlook.office365.com (2603:10a6:10:1da::18) 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:56:58 +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 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) 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:56:58 +0000 Received: ("Tessian outbound 8b05220b4215:v136"); Mon, 24 Apr 2023 08:56:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cbef14bb87d00c23 X-CR-MTA-TID: 64aa7808 Received: from 3748f4ef7d3a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 39888713-DD9F-4C36-AC80-BE5135533D60.1; Mon, 24 Apr 2023 08:56:49 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3748f4ef7d3a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 Apr 2023 08:56:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fSmmea1hCK0hGgex9l7qMPIchm5FhLzj2aclZaaM4UUq7HHpk/x+OdwvFtcfuWTLP+LlC/pdBh+FUTIZ76AIYiN+u1W4hSUM8zsQCUCDfJ+eOR0SjDOl/VMa9WmjVuSpAq//Z846JKM/BZnRI5s5vUPnCoPcDm6YCziQOrh8yMowT0RbY2DmYVoj4QuQQGarUjfLDOjeE5r4cikjkm829FPdI9FEyT24CGYjnbXgA+1OdbexDzV5KFkX3OyGaHEv22N2c33xdB1CoatnaeDpakBkLVwnRS6ZuTY1Pjp4rRYLIIcW+lGa9Ki9E0Zfl6XhAs5mqydUJge9iMmcR/uX3Q== 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=nAIbMOfoJ7SaN8FdDRgU3dEpSR1LDh5d6WY8VUCzpO4=; b=Hbq9kGgEc8U/w4ym9hocu+6aM63OwJiK8hpV3QlrJYde7JOdrJUiToXk/F5pBRsZG/aaLCQKOKcxSom4DCCfsd7+w/xROAC8NTg23DTJVz5Qh5ziKT3NcjpWnSSneKl+FJCHwKwcN683UJuMFsZ+U5m2H7MGxFt+9/o0dAfu88yeq/0LmFogHKSLCDiPaVta8V+NgoTRNXOr7PMovV01h8Tfml7jW4VyonbeuNhOi7uKdIbOKPOY18qx6WZmrF2ih/+BvkubsTJTMtEz4yIhthB7y5373XWNXIOpIvH2FojfdN5WA4VN3qrQPJ66s7dD7nKfaSJXm3/I1dusB866Yg== 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=nAIbMOfoJ7SaN8FdDRgU3dEpSR1LDh5d6WY8VUCzpO4=; b=zUGXBmePuBeIHOWLpyvP+RT1+5a2d3dvOrVe+BK48PTzqOFJa/7OMoqhhXTAiLy27lZkldoa4IaZQlBIkuYnOXJWZQJ4H3CyDFTHrTmLqEAXmu+OgdZf6Naq7YDYHDn0I84QrUt6lGBj3jfNAzT+vTzamEj5zNPxC7XWRQix094= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by GV2PR08MB8702.eurprd08.prod.outlook.com (2603:10a6:150:b6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.32; Mon, 24 Apr 2023 08:56:40 +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:56:40 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" CC: Richard Sandiford Subject: [PATCH] aarch64: PR target/109406 Add support for SVE2 unpredicated MUL Thread-Topic: [PATCH] aarch64: PR target/109406 Add support for SVE2 unpredicated MUL Thread-Index: Adl2ipoFiNmRzDUfSe60U0M9g1YY4w== Date: Mon, 24 Apr 2023 08:56:40 +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_|GV2PR08MB8702:EE_|DBAEUR03FT007:EE_|AM7PR08MB5352:EE_ X-MS-Office365-Filtering-Correlation-Id: 010007f0-a762-4522-9a02-08db44a1dcb7 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: 1As72ygpxZ6R8t88gzXUY0Wif40K5j8pr37Gj0QQCZXKbt49LjtUVwhd53WTlBsvYyY5o3izc3GifQDv6uZUrfj4lZzVvjUd2kg075/g0M5BIEA+tcc4bx4QnFUoOhAxfIy/1CwQpFQMSeXkItAYSznAJSdoH3QNnIZe9BwWyJUN+N6dt066I4pjnB7zmxq5qIMJTpboexy7oLRiMPx8BLEIdyom2abXjZ1BpkfPXmrILyvjwwarOetFw0xc7YwoyIsm1UxhsWeAvNJ0nCw6f6caBFF/dmalR5//gqbkwrvFjOsL9pk1oLzC7hFZcVr4RLtjofndVOvDBsgKN+g/FHJtWSKkxiV/mmnroFZicqb7NkmL90TzAUvRPhkNVmQ5stCY4fbloxSlToV7B77JhqyLTZAqNcJpS55io2QUqoRaok8wEUu/f79n8gDt2L4qW1+z6MIIALOyFTEqMrV6ydYYRE6l0BqW4gsspxzeTC+z/G4FFWv4e27VYiLdcf7lcIkFd3ITg7j3r8C09wNqFGB2CcNNVnLobQBOpoFDbz+ZsQ73hK8eMfl5SNJN4Wkx2WZdV4ILxvPbp4uBo4u2o+KuHoJwdSXy7Ri95FjvMAG9fO3nh77FPHr3PqF9Z2+hTaD/N3TB0yt6n5Q79QSPew== 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)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199021)(38070700005)(478600001)(316002)(99936003)(4326008)(6916009)(76116006)(64756008)(66446008)(66476007)(66556008)(55016003)(66946007)(122000001)(41300700001)(4744005)(2906002)(8936002)(8676002)(52536014)(5660300002)(38100700002)(84970400001)(9686003)(6506007)(26005)(55236004)(86362001)(186003)(33656002)(71200400001)(7696005);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB6926B17C2C190030EFE0247A93679PAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8702 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: DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f4a0a37b-6856-4ba3-4df3-08db44a1d1ba X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XzWs6fs+UJonF4+R4du9uMtV/2h22FnU66Wwuv5ot51hvxA9FGv49Md78BTePTUh/ZfUp6KJUS+PvL/6LWrxQ79zvTqWVKzot60pAr6jdKCWwMKORI0ss3G+jv+DHl4uJTR3/2PgcwnSVjj9MPPgDuIPRaX3060CGtqzgyKc+pKu8uYMR44D1WLq+25AfQjXObcHiLiNhGDUK2Ihv4l8/6qWHrPiazbWlr94YK3V+iYXkxNXdyIX8I0X/89QL3GguH/tekfbMhKNp1GnNiGpVexry24OHGLAWwHN4CZcNC34buhVoxn3LAsRjFdVITwmTlPNrxwElLxfpr9ewcziMDkT/A3V8OiywrT+efTfFGhK/XBL66K2x2cVZ72zUwN0Iz/3dnwbW/vDJBuN+rkmmTS+DKUoePp55DSp+9VmrEh4J6j94ERLM8XGVY2aDuScOxW4IaxxXIXDjy8GY8T4W2F4O8wOfjckG+pGCWHcn+xLN/DerkEz71ytT+KoC/9cdUDSWIaiCV/8z4/JmMbA1x1P8auUCzm0G8O+olLyCFXtYzl4M3/dGOqfwjMYGAO8oeLZRXQKIbAJZhDiXV2ktMGGkz2xkGWH8gwEAaISHqq4avJQfgLARTSjGaQ+/Jg5nYi/mW7J9MbAZXZOc04Z4XiyzwYhc4W5LPsoKsyRoQAXo5gWUwtMSXMeuwMsRq4AYr1dcaPMO2s4IQ3xS1qQ/A== 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)(136003)(346002)(376002)(39850400004)(451199021)(36840700001)(46966006)(47076005)(41300700001)(186003)(9686003)(6506007)(26005)(86362001)(55016003)(316002)(7696005)(40480700001)(478600001)(33656002)(4326008)(6916009)(8676002)(70206006)(70586007)(82310400005)(235185007)(5660300002)(52536014)(336012)(8936002)(84970400001)(82740400003)(356005)(99936003)(81166007)(36860700001)(2906002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 08:56:58.6344 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 010007f0-a762-4522-9a02-08db44a1dcb7 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: DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5352 X-Spam-Status: No, score=-5.4 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_PAXPR08MB6926B17C2C190030EFE0247A93679PAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, SVE2 supports an unpredicated vector integer MUL form that we can emit from= our SVE expanders without using up a predicate registers. This patch does so. As the SVE MUL expansion currently is templated away through a code iterato= r I did not split it off just for this case but instead special-cased it in the define_expand. I= t seemed somewhat less invasive than the alternatives but I could split it off more explicitly if = others want to. The div-by-bitmask_1.c testcase is adjusted to expect this new MUL form. Bootstrapped and tested on aarch64-none-linux-gnu. Ok for trunk? Thanks, Kyrill gcc/ChangeLog: PR target/109406 * config/aarch64/aarch64-sve.md (3): Handle TARGET_SVE2 MUL case. * config/aarch64/aarch64-sve2.md (*aarch64_mul_unpredicated_): New pattern. gcc/testsuite/ChangeLog: PR target/109406 * gcc.target/aarch64/sve2/div-by-bitmask_1.c: Adjust for unpredicated SVE2 MUL. * gcc.target/aarch64/sve2/unpred_mul_1.c: New test. --_002_PAXPR08MB6926B17C2C190030EFE0247A93679PAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="sve2-mul.patch" Content-Description: sve2-mul.patch Content-Disposition: attachment; filename="sve2-mul.patch"; size=4742; creation-date="Mon, 24 Apr 2023 08:55:54 GMT"; modification-date="Mon, 24 Apr 2023 08:56:40 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZCBiL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZAppbmRleCBiMTFiNTVmN2FjNzE4ZGIxOTk5MjBiNjFi ZjNlNGI0ODgxYzY5NjYwLi40YjRjMDJjOTBmZWM2Y2UxZmYxNWE4YjJhNWRmMzQ4MjI0YTMwN2I3 IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUubWQKKysrIGIvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kCkBAIC0zNjU3LDYgKzM2NTcsMTUgQEAgKGRl ZmluZV9leHBhbmQgIjxvcHRhYj48bW9kZT4zIgogCSAgVU5TUEVDX1BSRURfWCkpXQogICAiVEFS R0VUX1NWRSIKICAgeworICAgIC8qIFNWRTIgc3VwcG9ydHMgdGhlIE1VTCAodmVjdG9ycywgdW5w cmVkaWNhdGVkKSBmb3JtLiAgRW1pdCB0aGUgc2ltcGxlCisgICAgICAgcGF0dGVybiBmb3IgaXQg aGVyZSByYXRoZXIgdGhhbiBzcGxpdHRpbmcgb2ZmIHRoZSBNVUxUIGV4cGFuZGVyCisgICAgICAg c2VwYXJhdGVseS4gICovCisgICAgaWYgKFRBUkdFVF9TVkUyICYmIDxDT0RFPiA9PSBNVUxUKQor ICAgICAgeworCWVtaXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwgZ2VuX3J0eF9NVUxUICg8TU9E RT5tb2RlLAorCQkJCQkJICAgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CisJRE9ORTsKKyAg ICAgIH0KICAgICBvcGVyYW5kc1szXSA9IGFhcmNoNjRfcHRydWVfcmVnICg8VlBSRUQ+bW9kZSk7 CiAgIH0KICkKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZTIubWQg Yi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUyLm1kCmluZGV4IDIzNDZmOWY4MzVkMjZm NWI4N2FmZDQ3Y2RjOWU0NGY5ZjQ3NjA0ZWQuLmRhOGE0MjRkZDU3ZmM1NDgyY2IyMGJhNDE3ZDQx NDExNDhhYzYxYjYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZTIu bWQKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlMi5tZApAQCAtMTg5LDcgKzE4 OSw3IEBAIChkZWZpbmVfaW5zbiAiQGFhcmNoNjRfc2NhdHRlcl9zdG50XzxTVkVfRlVMTF9TREk6 bW9kZT48U1ZFX1BBUlRJQUxfSTptb2RlPiIKIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDs7IC0tLS0g W0lOVF0gTXVsdGlwbGljYXRpb24KIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLTs7IEluY2x1ZGVzIHRo ZSBsYW5lIGZvcm1zIG9mOgorOzsgSW5jbHVkZXMgdGhlIGxhbmUgYW5kIHVucHJlZGljYXRlZCBm b3JtcyBvZjoKIDs7IC0gTVVMCiA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTIwNSw2ICsyMDUs MjEgQEAgKGRlZmluZV9pbnNuICJAYWFyY2g2NF9tdWxfbGFuZV88bW9kZT4iCiAgICJtdWxcdCUw LjxWZXR5cGU+LCAlMS48VmV0eXBlPiwgJTIuPFZldHlwZT5bJTNdIgogKQogCis7OyBUaGUgMm5k IGFuZCAzcmQgYWx0ZXJuYXRpdmVzIGFyZSB2YWxpZCBmb3IganVzdCBUQVJHRVRfU1ZFIGFzIHdl bGwgYnV0Cis7OyB3ZSBpbmNsdWRlIHRoZW0gaGVyZSB0byBhbGxvdyBtYXRjaGluZyBzaW1wbGVy LCB1bnByZWRpY2F0ZWQgUlRMLgorKGRlZmluZV9pbnNuICIqYWFyY2g2NF9tdWxfdW5wcmVkaWNh dGVkXzxtb2RlPiIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0kgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgIj13LHcsPyZ3IikKKwkobXVsdDpTVkVfSQorCSAgKG1hdGNoX29wZXJhbmQ6U1ZFX0kg MSAicmVnaXN0ZXJfb3BlcmFuZCIgIncsMCx3IikKKwkgIChtYXRjaF9vcGVyYW5kOlNWRV9JIDIg ImFhcmNoNjRfc3ZlX3ZzbV9vcGVyYW5kIiAidyx2c20sdnNtIikpKV0KKyAgIlRBUkdFVF9TVkUy IgorICAiQAorICAgbXVsXHQlMC48VmV0eXBlPiwgJTEuPFZldHlwZT4sICUyLjxWZXR5cGU+Cisg ICBtdWxcdCUwLjxWZXR5cGU+LCAlMC48VmV0eXBlPiwgIyUyCisgICBtb3ZwcmZ4XHQlMCwgJTFc O211bFx0JTAuPFZldHlwZT4sICUwLjxWZXR5cGU+LCAjJTIiCisgIFsoc2V0X2F0dHIgIm1vdnBy ZngiICIqLCoseWVzIildCispCisKIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDs7IC0tLS0gW0lOVF0g U2NhbGVkIGhpZ2gtcGFydCBtdWx0aXBsaWNhdGlvbgogOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlMi9kaXYtYnktYml0 bWFza18xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUyL2Rpdi1ieS1i aXRtYXNrXzEuYwppbmRleCBlNmY1MDk4YzMwZjRlMmViOGVkMWFmMTUzYzBiYjBkMjA0Y2RhNmQ5 Li4xZTU0NmE5MzkwNjk2MmJhMjQ2OWRkYjNiZjJlZTljMDE2NmRiYWUxIDEwMDY0NAotLS0gYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUyL2Rpdi1ieS1iaXRtYXNrXzEuYwor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUyL2Rpdi1ieS1iaXRtYXNr XzEuYwpAQCAtNyw3ICs3LDcgQEAKIC8qCiAqKiBkcmF3X2JpdG1hcDE6CiAqKiAuLi4KLSoqCW11 bAl6WzAtOV0rLmgsIHBbMC05XSsvbSwgelswLTldKy5oLCB6WzAtOV0rLmgKKyoqCW11bAl6WzAt OV0rLmgsIHpbMC05XSsuaCwgelswLTldKy5oCiAqKglhZGRobmIJelswLTldKy5iLCB6WzAtOV0r LmgsIHpbMC05XSsuaAogKioJYWRkaG5iCXpbMC05XSsuYiwgelswLTldKy5oLCB6WzAtOV0rLmgK ICoqIC4uLgpAQCAtMjcsNyArMjcsNyBAQCB2b2lkIGRyYXdfYml0bWFwMih1aW50OF90KiByZXN0 cmljdCBwaXhlbCwgdWludDhfdCBsZXZlbCwgaW50IG4pCiAvKgogKiogZHJhd19iaXRtYXAzOgog KiogLi4uCi0qKgltdWwJelswLTldKy5zLCBwWzAtOV0rL20sIHpbMC05XSsucywgelswLTldKy5z CisqKgltdWwJelswLTldKy5zLCB6WzAtOV0rLnMsIHpbMC05XSsucwogKioJYWRkaG5iCXpbMC05 XSsuaCwgelswLTldKy5zLCB6WzAtOV0rLnMKICoqCWFkZGhuYgl6WzAtOV0rLmgsIHpbMC05XSsu cywgelswLTldKy5zCiAqKiAuLi4KQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBkcmF3X2JpdG1hcDMo dWludDE2X3QqIHJlc3RyaWN0IHBpeGVsLCB1aW50MTZfdCBsZXZlbCwgaW50IG4pCiAvKgogKiog ZHJhd19iaXRtYXA0OgogKiogLi4uCi0qKgltdWwJelswLTldKy5kLCBwWzAtOV0rL20sIHpbMC05 XSsuZCwgelswLTldKy5kCisqKgltdWwJelswLTldKy5kLCB6WzAtOV0rLmQsIHpbMC05XSsuZAog KioJYWRkaG5iCXpbMC05XSsucywgelswLTldKy5kLCB6WzAtOV0rLmQKICoqCWFkZGhuYgl6WzAt OV0rLnMsIHpbMC05XSsuZCwgelswLTldKy5kCiAqKiAuLi4KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZTIvdW5wcmVkX211bF8xLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUyL3VucHJlZF9tdWxfMS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFh ZjBjZTQ5Yzk5NDQ3NDM5MTQ2YTFlMTdlZDA1MzMyMzFlMTQxYzIKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUyL3VucHJlZF9tdWxfMS5jCkBA IC0wLDAgKzEsMjkgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMg Ii1PMiAtZnRyZWUtdmVjdG9yaXplIiB9ICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2Rl ZmluZSBOIDEwMjQKKworI2RlZmluZSBUWVBFKE4pIGludCMjTiMjX3QKKworI2RlZmluZSBURU1Q TEFURShTSVpFKQkJCQkJCVwKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBub2Nsb25l KSkJCQlcCitmXyMjU0laRSMjXyMjT1AJCQkJCQkJXAorICAoVFlQRShTSVpFKSAqcmVzdHJpY3Qg YSwgVFlQRShTSVpFKSAqcmVzdHJpY3QgYiwJCVwKKyAgIFRZUEUoU0laRSkgKnJlc3RyaWN0IGMp CQkJCQlcCit7CQkJCQkJCQlcCisgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQkJCQkJXAor ICAgIGFbaV0gPSBiW2ldICogY1tpXTsJCQkJCQlcCit9CisKK1RFTVBMQVRFICg4KTsKK1RFTVBM QVRFICgxNik7CitURU1QTEFURSAoMzIpOworVEVNUExBVEUgKDY0KTsKKworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdG11bFx0elswLTldK1wuZCwgelswLTldK1wuZCwg elswLTldK1wuZH0gMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7XHRtdWxcdHpbMC05XStcLnMsIHpbMC05XStcLnMsIHpbMC05XStcLnN9IDEgfSB9ICovCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0bXVsXHR6WzAtOV0rXC5oLCB6 WzAtOV0rXC5oLCB6WzAtOV0rXC5ofSAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHtcdG11bFx0elswLTldK1wuYiwgelswLTldK1wuYiwgelswLTldK1wuYn0g MSB9IH0gKi8KKwo= --_002_PAXPR08MB6926B17C2C190030EFE0247A93679PAXPR08MB6926eurp_--