From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50045.outbound.protection.outlook.com [40.107.5.45]) by sourceware.org (Postfix) with ESMTPS id 075B8398240D for ; Wed, 4 Aug 2021 15:52:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 075B8398240D Received: from AM5PR0101CA0029.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::42) by AM0PR08MB5524.eurprd08.prod.outlook.com (2603:10a6:208:181::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Wed, 4 Aug 2021 15:52:11 +0000 Received: from VE1EUR03FT048.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:16:cafe::d2) by AM5PR0101CA0029.outlook.office365.com (2603:10a6:206:16::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend Transport; Wed, 4 Aug 2021 15:52:11 +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 VE1EUR03FT048.mail.protection.outlook.com (10.152.19.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16 via Frontend Transport; Wed, 4 Aug 2021 15:52:11 +0000 Received: ("Tessian outbound 077ab11054bf:v101"); Wed, 04 Aug 2021 15:52:11 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7aad375bb8e12c10 X-CR-MTA-TID: 64aa7808 Received: from b090126290f8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EA2B20F8-9505-4838-8F8A-CC931EAD7B92.1; Wed, 04 Aug 2021 15:52:03 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b090126290f8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 04 Aug 2021 15:52:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NCVvvYsp536KqxcjETYilHsXf8TZs6zJurKf/SwGcuWDZl2L3j38zX/Ry0fnRL3iaZntxIprtXhYz6w7/7QE+0oh+PQHBRjfQu6KkEj1QQjVN0nldi8nqL1kX9+E2PtNfu+oSIRPFKsYA105GzSIxn3to27CJj9xjrhnuGjZuIsSCKWfOAIraBQKjwjdpS9Bgt12f7D8VvTMOkwGQzvLOF7Y0AZc1i0l7aycCown5DEwqms6SQqp9j0dIi4dgwT/KNGq68CfClVy2Mt4h/x2O7t5F7M5MipP3QtHRxFHo18M+H0xUkOQ8/97SQFxDx0zgC+xq6oGS4UNQftfIKoBfg== 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=+gKI+vbp/wmb9iWoIafUILQ5GsiK4mT5IIJDcANiOOU=; b=njC87McDMBkaknKow2zpcfqGj1LwK6feogM0RyRrYwSr/uFCw0wkYioohyHoYECM/WLGxknh4G4ehCF+TPO17/4HIQTMHsMuZXAsdGqqsL7mkh0avTxOqk5/aSbMEEVfaiiFaSyX/MR40KevachmI6qgh+urCFo2JmUseOVz4PHbOZ5m98T+NzzMDGyzaaeAXX4NFSnoRSX7BAgR8dljYGiRzwZ6z1HhVFJi2KgcS/iLkN86n19ouO12f3mRCOyn0avqBzVe1iCV6DsZrSxblDmGEMHCH/qnLUNk4m2SRuauywkU+sVEJx4V5gE8kaIbPqSgclgK3BwueUb/Au5+Bw== 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 DB9PR08MB6959.eurprd08.prod.outlook.com (2603:10a6:10:2bf::11) by DB6PR08MB2872.eurprd08.prod.outlook.com (2603:10a6:6:24::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Wed, 4 Aug 2021 15:52:00 +0000 Received: from DB9PR08MB6959.eurprd08.prod.outlook.com ([fe80::ac6e:79e7:6ffc:28e2]) by DB9PR08MB6959.eurprd08.prod.outlook.com ([fe80::ac6e:79e7:6ffc:28e2%5]) with mapi id 15.20.4373.026; Wed, 4 Aug 2021 15:52:00 +0000 From: Jonathan Wright To: "gcc-patches@gcc.gnu.org" CC: Richard Sandiford Subject: [PATCH V2] aarch64: Don't include vec_select high-half in SIMD add cost Thread-Topic: [PATCH V2] aarch64: Don't include vec_select high-half in SIMD add cost Thread-Index: AQHXiUipOOxLBsjVvE2zoa/Y26nQuQ== Date: Wed, 4 Aug 2021 15:52:00 +0000 Message-ID: References: In-Reply-To: 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-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: f821c3d9-760c-46aa-9e18-08d9575fd2a0 x-ms-traffictypediagnostic: DB6PR08MB2872:|AM0PR08MB5524: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: IFiziK7drBqrek0/me2ink0QQ44YCxnRiLK7hqYRcx+CqNDCeQFtBSvfrYvAkalDGsDGw9kf06BCZ3XREHC48lxFgab1MFVIBsn/p/Xz20D6rpC60BtpX/XUXdoWPO/VJ2ix8BxxHeY3QcRyWrTc+RNyNMBQs6Y/AF5bWkARa+HmRp/bNHuOn9U8QrXRErj89GMarqPQ1pDuN/NFB/bKa/yBr1uumfZr3WTQV6xNyZEppLljgZynyOFs8cbLPS7b9PZ/1uXS2ak5SDWWVQr1GsFrcQOsIC2prmLzREV5vWzNNPYHb0v/pqEQFtxRtFLORNb+sjnd2/Yklef8tgDGdkq4d5cBfS2dotqt+8QrKGQZEw4yXNZGuKS/BOMAlQsN8qH14AB2aMyjO9OT8RplS3ousAfkTa8ZUPZEwSVY7GyC2WZdr5MjWsKGIabPIv3WEJ+hRsw7joIPVcqxvZfvRYpwmMdl7EJBKrDVwhYsm9FalPsgcMaPartOhlEviSz8uVDnPhYVOYY/cFITjttN2OJNrX25GnWm3lh+uPktMJuUabO2jb/UGG6IbW8PSoWAXKJd+Pl9fWyhQ23g541RprDBp/u/Jbk5+0Msw3XHz6feF4uNUEOYl0HzJESHE9h8fcabZbNnobEYDSdytBaaItgQfi8EQEFufg+aKVJkDha736r9ZOmr9Jomj1Sz3maabXBWRRT9wKEXYlpfWtuE/cl1sFfunFlaptEH5Uz6eSaY1hi57yLzsuBql7K9VtEBzRFKEpaDGnhavty1Q5pDVWwtwDLuMfOQ2CZGgCVDEPE= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6959.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(4326008)(6916009)(9686003)(26005)(38070700005)(66946007)(76116006)(7696005)(8676002)(86362001)(53546011)(91956017)(122000001)(38100700002)(2906002)(6506007)(316002)(186003)(8936002)(33656002)(99936003)(478600001)(55016002)(64756008)(66476007)(66446008)(52536014)(66556008)(5660300002)(71200400001)(66616009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?vS+KbEDAK+CqyvCzBIyeyBBJ3VEkf79oLJZRDixSyktDKcHlKCXCs42W8y?= =?iso-8859-1?Q?A/2+fMQCZceaYOFBGvkg5yuRdHyXvi9gOeB3mV12EdToaKGaoQjUT6v01d?= =?iso-8859-1?Q?MDQ5wfjMbxI1EW0DKGzNi4SPUb2hRwULlEF51CSyLgAYhWIQ7Jhxvpip4t?= =?iso-8859-1?Q?uLnGJvyyeaJd2c36fTziBU/Mzj3di/QXNITnDnOV8OHEB3oENSuQr6sVRf?= =?iso-8859-1?Q?9MG+fjU7NimK7S2LWZNlx+RXhV9FhYBcVMYUniUwDk6Ov5fzLiSDPgI1s0?= =?iso-8859-1?Q?18xeZgUqb2RgZRLk2RnINXdDqewELvD8zrjb8AgtBIjyHGhu6z00FqXu40?= =?iso-8859-1?Q?JbbwPpq7IVfQe3v8v5gWxG1PWOkhr9cfVOg5RdJLEgLcX0E1yIKEiu56m8?= =?iso-8859-1?Q?ALSn41nC39TyB16lxakxAqV5GLGtTbnLqYAjkh6cc/KtTYfs/3LQAOVEu3?= =?iso-8859-1?Q?OMKtTqpfIH/g4elnNiNnCD8DlILVTmlPL+hCo6ZUWHzpGIbm03LU6kNbTs?= =?iso-8859-1?Q?uqMnWEjuUHDMT166FCbv7i7BGBE9Lo/jWikhqw4IOlrnwdN3NI7Njjq6v+?= =?iso-8859-1?Q?D6rNEPHf6AIshzQALyVqDFUYztNX+tgz2CbVrOGCBe/QxP0Oo8tW56YYd0?= =?iso-8859-1?Q?p1w6YcU4JvnlQSoU8hChF52YxgUco5Qqv+gSrSuHWiyJ9HUWikshBj91F1?= =?iso-8859-1?Q?ewiLaWUSdSfzxOq9NAjrmr9fWWCNnPRiRrmlo2tcyY+Lkx66uNcT+h7ZWi?= =?iso-8859-1?Q?R8WklHq0AexShcI8QGobhXeED4nJAKA5mFjyg97GzT/wTS8vbOIMzWiGU+?= =?iso-8859-1?Q?T6v9sjjLsB6r0ooFYZWGB4MQQzRZxE8MS0BEaiRhOD3uqJ1r4q2gsgGAwG?= =?iso-8859-1?Q?bfmc0KcXksl9G2b5UY/AdX0d/bPzmewj9OeCsV2gBPbBg6z1aBHCdKPp+3?= =?iso-8859-1?Q?efew4nMeIk7NRdrXqR9+TkCe6bhX/+eN6aA6JQBjWyGZ2DusqC4lsSDuql?= =?iso-8859-1?Q?3VapZBbK4XgEhTnbJ3wi1Y7RZcAAW/2NIk2u8hBeTGInKuZIMjSfIkNvwg?= =?iso-8859-1?Q?LW6IH/MpH2m1necezMZJir0IoPZAdhazVidikAquT5NLKrR4JbpcoQ2Apf?= =?iso-8859-1?Q?RzCSitNXngIqfe96WjJykn2PKcbFMVmnHkXTaR/a48tJpeXeRrtGibmnbA?= =?iso-8859-1?Q?UU0bF2YVwFAeLgiKelj20QECuxmhbx+0CUCO+XGTH3OyTL7ivMTRGgbbzr?= =?iso-8859-1?Q?VO1pV32zTrXa48QM5UvigwkWZGQVmpX/uWdr7zMHO6xWZMimIfCTVPeWj5?= =?iso-8859-1?Q?JeCk0+DJ4ilTQfGW9soaLpBfq+CZw0r3/dxqjebDURzFFH8=3D?= Content-Type: multipart/mixed; boundary="_002_DB9PR08MB6959D01A05892A8BE7F15310EBF19DB9PR08MB6959eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2872 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: VE1EUR03FT048.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: cf5e3b5b-ca24-466a-11f5-08d9575fcbd3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H0T/vRWzdHasMz1QUTax6/3e/JEeMJHbv23B9h9Sk/xPZ+7aE7QdIMuRwOB68gIN41IeK1BNsFJ6dyGoizD6KSruKjX3KgqU7L0VQ7B/3YFyyz5hXYIoEF7PkTN1NAVxsV4yuLosS1hr8K6rl6FTKJlG/fRc6a1a/zDNygC27bE/oJMO/++tsk504eV6uUuonSeNHnuq9ueY9MZ5f7+l/CjssoCKIX2oiXe9KB1Edt60vdub0iscciMJRUxqvIgFTYCSgLuhLjtqSdtFDT+rVOplAv0HO3kXSddAxuSSqcRSjQeMo6laAjwalRI1Asv7xnusXsOEMOMhRlmHIlkSWsb2p2PwH+hWBIWTklUoPKZA4cNG/OpCmAuJithTjncuhSzC6XvI8XgEQBtWQ+j8zcQzutlQKOl5gFwlLT53T6NlVR5J95lzd+yrkAF1QLt+5tlzCYZs0wudEoUie3SfgdgNzPYHpb1ko5ceGcOH1CRWqmzWfVQfjKCgAK0ooLWP1LpDVpSnCG4SZyrkXDigk4ld8tDZs1pN4HSLJQjnqO+FAQANJ07CHsw+MyQ1sFXccPHwLjQKF63SaSh8qw3zPmFpg65RpVnKg2SThu+rCah5nhQU9CS5wJU9SKC2dj1tOOHlhOghgnuaAqIuhhCDMNF8xCANF6P66DB9OAzv9/T2WgQ7TwmAaiTk0++zhGHz1mHaS773ec3vVe+Sy+VsDgRXpB2CgSr4NwRr4diFuIi96pxsA+qkcL7/YVgPAU2HqwDS7iVcRp2zEIf329M03qMNbkW2h9kGggWPwuAUBJ8= 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)(39850400004)(396003)(346002)(136003)(46966006)(36840700001)(99936003)(66616009)(316002)(70206006)(6506007)(8936002)(36860700001)(186003)(4326008)(70586007)(2906002)(81166007)(55016002)(86362001)(52536014)(9686003)(5660300002)(7696005)(47076005)(82310400003)(235185007)(6916009)(82740400003)(26005)(8676002)(356005)(336012)(478600001)(53546011)(33656002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 15:52:11.5339 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f821c3d9-760c-46aa-9e18-08d9575fd2a0 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: VE1EUR03FT048.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5524 X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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, 04 Aug 2021 15:52:16 -0000 --_002_DB9PR08MB6959D01A05892A8BE7F15310EBF19DB9PR08MB6959eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=0A= =0A= V2 of this patch uses the same approach as that just implemented=0A= for the multiply high-half cost patch.=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-07-28 =A0Jonathan Wright =A0=0A= =0A= * config/aarch64/aarch64.c: Traverse RTL tree to prevent cost=0A= of vec_select high-half from being added into Neon add cost.=0A= =0A= gcc/testsuite/ChangeLog:=0A= =0A= * gcc.target/aarch64/vaddX_high_cost.c: New test.=0A= =0A= From: Jonathan Wright=0A= Sent: 29 July 2021 10:22=0A= To: gcc-patches@gcc.gnu.org =0A= Cc: Richard Sandiford ; Kyrylo Tkachov =0A= Subject: [PATCH] aarch64: Don't include vec_select high-half in SIMD add co= st =0A= =A0=0A= Hi,=0A= =0A= The Neon add-long/add-widen instructions can select the top or bottom=0A= half of the operand registers. This selection does not change the=0A= cost of the underlying instruction and this should be reflected by=0A= the RTL cost function.=0A= =0A= This patch adds RTL tree traversal in the Neon add cost function to=0A= match vec_select high-half of its operands. This traversal prevents=0A= the cost of the vec_select from being added into the cost of the=0A= subtract - meaning that these instructions can now be emitted in the=0A= combine pass as they are no longer deemed prohibitively expensive.=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-07-28 =A0Jonathan Wright =A0=0A= =0A= =A0=A0=A0=A0=A0=A0=A0 * config/aarch64/aarch64.c: Traverse RTL tree to prev= ent cost=0A= =A0=A0=A0=A0=A0=A0=A0 of vec_select high-half from being added into Neon ad= d cost.=0A= =0A= gcc/testsuite/ChangeLog:=0A= =0A= =A0=A0=A0=A0=A0=A0=A0 * gcc.target/aarch64/vaddX_high_cost.c: New test.= --_002_DB9PR08MB6959D01A05892A8BE7F15310EBF19DB9PR08MB6959eurp_ Content-Type: application/octet-stream; name="rb14710.patch" Content-Description: rb14710.patch Content-Disposition: attachment; filename="rb14710.patch"; size=2599; creation-date="Wed, 04 Aug 2021 15:51:49 GMT"; modification-date="Wed, 04 Aug 2021 15:51:49 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMgYi9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5jCmluZGV4IDEwYTQzNmFkN2U2ZmE2YzVkZTcwNmVlNWFiYmRjNmZiM2Qy NjgwNzYuLmNjOTJjYzljMjA4ZTYzZjI2MmMyMmM3ZmU4ZTY5MTU4MjU4ODQ3NzUgMTAwNjQ0Ci0t LSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0 L2FhcmNoNjQuYwpAQCAtMTMxNjEsNiArMTMxNjEsMjEgQEAgY29zdF9taW51czoKIAlvcDEgPSBY RVhQICh4LCAxKTsKIAogY29zdF9wbHVzOgorCWlmIChWRUNUT1JfTU9ERV9QIChtb2RlKSkKKwkg IHsKKwkgICAgLyogQURETDIgYW5kIEFERFcyLiAgKi8KKwkgICAgdW5zaWduZWQgaW50IHZlY19m bGFncyA9IGFhcmNoNjRfY2xhc3NpZnlfdmVjdG9yX21vZGUgKG1vZGUpOworCSAgICBpZiAodmVj X2ZsYWdzICYgVkVDX0FEVlNJTUQpCisJICAgICAgeworCQkvKiBUaGUgc2VsZWN0LW9wZXJhbmQt aGlnaC1oYWxmIHZlcnNpb25zIG9mIHRoZSBhZGQgaW5zdHJ1Y3Rpb24KKwkJICAgaGF2ZSB0aGUg c2FtZSBjb3N0IGFzIHRoZSByZWd1bGFyIHRocmVlIHZlY3RvciB2ZXJzaW9uIC0KKwkJICAgZG9u J3QgYWRkIHRoZSBjb3N0cyBvZiB0aGUgc2VsZWN0IGludG8gdGhlIGNvc3RzIG9mIHRoZSBhZGQu CisJCSAgICovCisJCW9wMCA9IGFhcmNoNjRfc3RyaXBfZXh0ZW5kX3ZlY19oYWxmIChvcDApOwor CQlvcDEgPSBhYXJjaDY0X3N0cmlwX2V4dGVuZF92ZWNfaGFsZiAob3AxKTsKKwkgICAgICB9CisJ ICB9CisKIAlpZiAoR0VUX1JUWF9DTEFTUyAoR0VUX0NPREUgKG9wMCkpID09IFJUWF9DT01QQVJF CiAJICAgIHx8IEdFVF9SVFhfQ0xBU1MgKEdFVF9DT0RFIChvcDApKSA9PSBSVFhfQ09NTV9DT01Q QVJFKQogCSAgewpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv dmFkZFhfaGlnaF9jb3N0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC92YWRk WF9oaWdoX2Nvc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2YyOGQ1OTdhOTRkOGFjZWFjODdlZjIyNDBhNTBj YzU2YzA3MjQwCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvdmFkZFhfaGlnaF9jb3N0LmMKQEAgLTAsMCArMSwzOCBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8zIiB9ICovCisKKyNpbmNsdWRlIDxhcm1fbmVv bi5oPgorCisjZGVmaW5lIFRFU1RfQURETChyZXR0eXBlLCBpbnR5cGUsIHRzLCBycykgXAorICBy ZXR0eXBlIHRlc3RfdmFkZGxfICMjIHRzIChpbnR5cGUgYSwgaW50eXBlIGIsIGludHlwZSBjKSBc CisJeyBcCisJCXJldHR5cGUgdDAgPSB2YWRkbF8gIyMgdHMgKHZnZXRfaGlnaF8gIyMgdHMgKGEp LCBcCisJCQkJCSAgIHZnZXRfaGlnaF8gIyMgdHMgKGMpKTsgXAorCQlyZXR0eXBlIHQxID0gdmFk ZGxfICMjIHRzICh2Z2V0X2hpZ2hfICMjIHRzIChiKSwgXAorCQkJCQkgICB2Z2V0X2hpZ2hfICMj IHRzIChjKSk7IFwKKwkJcmV0dXJuIHZhZGRxICMjIF8gIyMgcnMgKHQwLCB0MSk7IFwKKwl9CisK K1RFU1RfQURETCAoaW50MTZ4OF90LCBpbnQ4eDE2X3QsIHM4LCBzMTYpCitURVNUX0FEREwgKHVp bnQxNng4X3QsIHVpbnQ4eDE2X3QsIHU4LCB1MTYpCitURVNUX0FEREwgKGludDMyeDRfdCwgaW50 MTZ4OF90LCBzMTYsIHMzMikKK1RFU1RfQURETCAodWludDMyeDRfdCwgdWludDE2eDhfdCwgdTE2 LCB1MzIpCitURVNUX0FEREwgKGludDY0eDJfdCwgaW50MzJ4NF90LCBzMzIsIHM2NCkKK1RFU1Rf QURETCAodWludDY0eDJfdCwgdWludDMyeDRfdCwgdTMyLCB1NjQpCisKKyNkZWZpbmUgVEVTVF9B RERXKHJldHR5cGUsIGludHlwZSwgaW50eXBlbCwgdHMsIHJzKSBcCisgIHJldHR5cGUgdGVzdF92 YWRkd18gIyMgdHMgKGludHlwZSBhLCBpbnR5cGUgYiwgaW50eXBlbCBjKSBcCisJeyBcCisJCXJl dHR5cGUgdDAgPSB2YWRkd18gIyMgdHMgKGEsIHZnZXRfaGlnaF8gIyMgdHMgKGMpKTsgXAorCQly ZXR0eXBlIHQxID0gdmFkZHdfICMjIHRzIChiLCB2Z2V0X2hpZ2hfICMjIHRzIChjKSk7IFwKKwkJ cmV0dXJuIHZhZGRxICMjIF8gIyMgcnMgKHQwLCB0MSk7IFwKKwl9CisKK1RFU1RfQUREVyAoaW50 MTZ4OF90LCBpbnQxNng4X3QsIGludDh4MTZfdCwgczgsIHMxNikKK1RFU1RfQUREVyAodWludDE2 eDhfdCwgdWludDE2eDhfdCwgdWludDh4MTZfdCwgdTgsIHUxNikKK1RFU1RfQUREVyAoaW50MzJ4 NF90LCBpbnQzMng0X3QsIGludDE2eDhfdCwgczE2LCBzMzIpCitURVNUX0FERFcgKHVpbnQzMng0 X3QsIHVpbnQzMng0X3QsIHVpbnQxNng4X3QsIHUxNiwgdTMyKQorVEVTVF9BRERXIChpbnQ2NHgy X3QsIGludDY0eDJfdCwgaW50MzJ4NF90LCBzMzIsIHM2NCkKK1RFU1RfQUREVyAodWludDY0eDJf dCwgdWludDY0eDJfdCwgdWludDMyeDRfdCwgdTMyLCB1NjQpCisKKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci1ub3QgImR1cFxcdCIgfSB9ICovCg== --_002_DB9PR08MB6959D01A05892A8BE7F15310EBF19DB9PR08MB6959eurp_--