From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60068.outbound.protection.outlook.com [40.107.6.68]) by sourceware.org (Postfix) with ESMTPS id 9B7A2385ED4B for ; Tue, 4 Aug 2020 16:14:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9B7A2385ED4B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Omar.Tahir@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=5+Q6kThLbNUhMJsC4+wl6NORINX7Owk7Tl+2clZ2STg=; b=AaSnJjW1pFiFlLRb/OXW94bk6sU/kGc1dXnk2CbGNHZwvLp48ehN4bvRwj7SDM8VdyhDFM6GvINHKOTzPDvchef+VjNjUnmutPQSpW0yMsbxeFQqSmJU6LU1H8W/+8OuxccnHDV5hnv+D5KazfAMoqunplIcyP7ypWiaSqJzzc8= Received: from DB7PR03CA0074.eurprd03.prod.outlook.com (2603:10a6:10:72::15) by AM0PR08MB3922.eurprd08.prod.outlook.com (2603:10a6:208:128::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.21; Tue, 4 Aug 2020 16:14:53 +0000 Received: from DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:72:cafe::20) by DB7PR03CA0074.outlook.office365.com (2603:10a6:10:72::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Tue, 4 Aug 2020 16:14:53 +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=bestguesspass 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 DB5EUR03FT018.mail.protection.outlook.com (10.152.20.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.20 via Frontend Transport; Tue, 4 Aug 2020 16:14:53 +0000 Received: ("Tessian outbound cbf1bd92df60:v64"); Tue, 04 Aug 2020 16:14:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c3a60369485d2c2d X-CR-MTA-TID: 64aa7808 Received: from 95a6e87b1c6f.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2B5C4010-053F-49EE-8712-ADCD131486D6.1; Tue, 04 Aug 2020 16:14:40 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 95a6e87b1c6f.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 04 Aug 2020 16:14:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VefzC0jPCekVHh1EvifbPSiZCmQZpUb9+AZtV1pymvWsUTuzjdvOd+TrlQswAN7auOXQWha6IhZc15Iuv11/NqcdZkHuAico9Z59AxCe6yulnH+U+YLsjDo7yZIf2avErJD7ptHhOoLqqc4XIQSX+GSkCGLElyp+xjzejlFDE2wcRFQQQ4yz8HgUC81dmFKXWes58L8pyUgCT9QGJSgQAXMB4N3hoFHMLwyNW7MBZhpTa2qGt4vtMQ6THF3npbQ0CTaovUw0RsoMNd5jP8gSr3V3mCPtyGNJf4QNo/wn18eiFhn9m7XzrWROrBqifdvDWxyUmsdp24hG6Bp4QBNDTg== 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=5+Q6kThLbNUhMJsC4+wl6NORINX7Owk7Tl+2clZ2STg=; b=MZ+5qKE77OuQ3da87Zvkl6Xa/h2FUIlcg7E/uQE2hKqPalq7rcoCloguNSXZ6o6E15dsQJlVz/aN4bQmAQ8usl928sHRg0B59cUCEOvdflOqynQQqgAf0vQYndSRgjLh0ulJvk5n73z0kQ+gevbp57UfkJk3m2m7MJvnl00wQilUfAqQyGeVAx1zFBVE3yeh4peg3hDM5orRedxyaVNaOIZ22LzQ12SomliAO6a0H5pMYot6RXxUy+RLx9VEQiVr4jgr+FMiYIE9HfRbabFmuASby9q50UHsangur2fWnEwWd2Vqq0AU4T+wg1dOTEEcAA3E1uJnBkwRXOpAsRjJFg== 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=5+Q6kThLbNUhMJsC4+wl6NORINX7Owk7Tl+2clZ2STg=; b=AaSnJjW1pFiFlLRb/OXW94bk6sU/kGc1dXnk2CbGNHZwvLp48ehN4bvRwj7SDM8VdyhDFM6GvINHKOTzPDvchef+VjNjUnmutPQSpW0yMsbxeFQqSmJU6LU1H8W/+8OuxccnHDV5hnv+D5KazfAMoqunplIcyP7ypWiaSqJzzc8= Received: from AM0PR08MB5121.eurprd08.prod.outlook.com (2603:10a6:208:159::23) by AM0PR08MB4948.eurprd08.prod.outlook.com (2603:10a6:208:163::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.15; Tue, 4 Aug 2020 16:14:38 +0000 Received: from AM0PR08MB5121.eurprd08.prod.outlook.com ([fe80::8963:a047:a9d1:d7f1]) by AM0PR08MB5121.eurprd08.prod.outlook.com ([fe80::8963:a047:a9d1:d7f1%7]) with mapi id 15.20.3239.022; Tue, 4 Aug 2020 16:14:38 +0000 From: Omar Tahir To: Kyrylo Tkachov , "nickc@redhat.com" , Ramana Radhakrishnan , Richard Earnshaw , "gcc-patches@gcc.gnu.org" Subject: [PATCH 4/5][Arm] New pattern for CSNEG instructions Thread-Topic: [PATCH 4/5][Arm] New pattern for CSNEG instructions Thread-Index: AdZqejAmiShvoSYMS9KTpjyfWp3zUQ== Date: Tue, 4 Aug 2020 16:14:38 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ts-tracking-id: 00713CBDFD959F4FB266167681ED7948.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [2a00:23a8:4295:3f00:e516:6096:362d:77aa] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6ead4e33-465a-4ec0-1daf-08d838918563 x-ms-traffictypediagnostic: AM0PR08MB4948:|AM0PR08MB3922: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:40;OLM:40; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 6QbjGXJRD6OCqTHe7quB07wTY8nri3Vo1LOyqrr2BsYMWvuTzPZEaJcpJ66G2/RQv5X4t5GlLvXSimXLjfyInagrxiiMhcxcF7GyCX/EiiTaU3WRFJony7kTt1hf6dQIxIzxB48WCxvmZMzOT4A9PEo3boCAlfJu8oGEdi0S0jphuAVgqWP4CCbrNO+s42rNSX2yzJvvKlpudeXiISkb0WPUoOsokz0IdVqTiIZWL/v7kvoTGXBPtf3/ogkfoQHyGx4FFIUuDYc/KkitLXTOfgCGiceYnd+kM8QaikaXvWVoSzhfD1sO8hgUEGEm/U5xAnaxrOfU76gA3XPNpJ/FBw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB5121.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(396003)(136003)(376002)(346002)(39860400002)(478600001)(8936002)(9686003)(6506007)(8676002)(2906002)(5660300002)(52536014)(186003)(99936003)(55016002)(76116006)(66616009)(66946007)(71200400001)(66476007)(33656002)(7696005)(66446008)(64756008)(66556008)(316002)(86362001)(110136005)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 9IFd8vhWBCrcDDOxAYDgF40i9kCc4PqjdeXkeAH9oy1aj0TTqVVzrPGZ9UvRclO87BkMQu/sCRHU13ixWvoyYKyncpsxLj2FsMM1POj3lKSWXuMmqWIi0kiYm4GIVG0Pp602wjVdAYR0VrwqNDQ6GxsBH0zQUV89P8SPogTkmEbhJO7c7DkL2fVme8WSpdci/r7kRA/SOT3czyi81QGadWaafZE4GhTOpZtrzIJB4RfWp7wK+GfT9WEiKIbuj8bUucaYYZRTkXsUThRQGSxOFWPonEYCVO4jjQEBPbWwoB3jtV/45lhiXH5pwsg3s7CgaEN2BKLlbZzKhnWloTo/r+8M1J/q44z3bdXgcDnN+zXuy6nZ+xIt6LyxacRF1cRNAUI+8SjCYKoQliStP1yBouc5HC4YzJfWEQvWtFNcR26vEI+1kspwjVBXzi9lu4FzebQYCtNcMx60O7zz0aQD4l407SXW4czvhPB7wMIVFMTol9uDdVV2uk7T0HZK1q4vMzETdwkG36jIhrYM8VRc3u+b2cguIaBjOKAs/CxcMgvcREtOlFthgxdGUIx73UNG3X/YE10qPdTQ2n5rE7EEIQxSiFuRaAFXh7Vy4LD0ykBJX+8PvUpyewypM/vmP8eCK+CvthGPz9BV/A4eaLzSbZY+tH9i2CstDV+4+WKivyrjIOoFwSz0lQ/gUB5ZcZFtPEr0FXM04gPRlsRImBtilw== Content-Type: multipart/mixed; boundary="_004_AM0PR08MB5121FDFFAA2BD27C41028019924A0AM0PR08MB5121eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4948 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 0b46eca6-7e1f-41a1-25ba-08d838917ca5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nHRYb/RSWy+lYRey2nxqRvsasdAbWRBo1WxWDM0UxnBhCqjSSKw1T+uCxUkebLhGbg/j/XhFwJgll9L9j1D19zpM6K68ydDKB2MmjBYg90IEKD7OWWwPKL6/Xn6gdynJQYHeErrHQ3M6uATdABP1Bu7RqismBBVVI6IgfFnlEFsuR7vS3a5j/EijcNkDyV6v/KkibSxW7Em0pY4m5a6G9ZO3OWa6oEAAPq7Znk+wLPaU8VuC8K/WcYk1lJop79t7lxwXtQLG3Evue+drksylRHgZQNFfKMBcNsNMHKNt5jJAR70tcweTkJotw6+0nFeEITrYaJJGRMStZQ9jcU//YPeTBLkWPHZ7e+5dcmkl5svjOsKOYuJ1gl2GGZJE3/poFWnkSxLEKZ1g+Ei4PzfeBg== 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; SFTY:; SFS:(4636009)(39850400004)(346002)(376002)(136003)(396003)(46966005)(2906002)(235185007)(99936003)(478600001)(81166007)(52536014)(86362001)(47076004)(356005)(5660300002)(8676002)(82310400002)(110136005)(82740400003)(186003)(66616009)(70586007)(6506007)(316002)(336012)(55016002)(8936002)(26005)(33656002)(9686003)(70206006)(7696005)(559001)(579004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2020 16:14:53.2123 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ead4e33-465a-4ec0-1daf-08d838918563 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: DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3922 X-Spam-Status: No, score=-14.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, HTML_MESSAGE, 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-Content-Filtered-By: Mailman/MimeDel 2.1.29 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, 04 Aug 2020 16:14:58 -0000 --_004_AM0PR08MB5121FDFFAA2BD27C41028019924A0AM0PR08MB5121eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This patch adds a new pattern, *thumb2_csneg, for generating CSNEG instructions. It also restricts *if_neg_move and *thumb2_negscc to only mat= ch if !TARGET_COND_ARITH which prevents undesirable matches during ifcvt. Regression tested on arm-none-eabi. 2020-07-30: Sudakshina Das Omar Tahir * config/arm/thumb2.md (*thumb2_csneg): New. (*thumb2_negscc): Don't match if TARGET_COND_ARITH. * config/arm/arm.md (*if_neg_move): Don't match if TARGET_C= OND_ARITH. gcc/testsuite/ChangeLog: 2020-07-30: Sudakshina Das Omar Tahir * gcc.target/arm/csneg.c: New test. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index a6a31f8f4ef..950e46edfee 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -11211,7 +11211,7 @@ [(match_operand 3 "cc_register" "") (const_int 0)]) (neg:SI (match_operand:SI 2 "s_register_operand" "l,r")) (match_operand:SI 1 "s_register_operand" "0,0")))] - "TARGET_32BIT" + "TARGET_32BIT && !TARGET_COND_ARITH" "#" "&& reload_completed" [(cond_exec (match_op_dup 4 [(match_dup 3) (const_int 0)]) diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 79cf684e5cb..d12467d7644 100644 --- a/gcc/config/arm/thumb2.md +++ b/gcc/config/arm/thumb2.md @@ -880,7 +880,7 @@ [(match_operand:SI 1 "s_register_operand" "= r") (match_operand:SI 2 "arm_rhs_operand" "rI"= )]))) (clobber (reg:CC CC_REGNUM))] - "TARGET_THUMB2" + "TARGET_THUMB2 && !TARGET_COND_ARITH" "#" "&& reload_completed" [(const_int 0)] @@ -970,6 +970,20 @@ (set_attr "predicable" "no")] ) +(define_insn "*thumb2_csneg" + [(set (match_operand:SI 0 "arm_general_register_operand" "=3Dr, r") + (if_then_else:SI + (match_operand 1 "arm_comparison_operation" "") + (neg:SI (match_operand:SI 2 "arm_general_register_operand" "r, r")) + (match_operand:SI 3 "reg_or_zero_operand" "r, Z")))] + "TARGET_COND_ARITH" + "@ + csneg\\t%0, %3, %2, %D1 + csneg\\t%0, zr, %2, %D1" + [(set_attr "type" "csel") + (set_attr "predicable" "no")] +) + (define_insn "*thumb2_movcond" [(set (match_operand:SI 0 "s_register_operand" "=3DTs,Ts,Ts") (if_then_else:SI diff --git a/gcc/testsuite/gcc.target/arm/csneg.c b/gcc/testsuite/gcc.targe= t/arm/csneg.c new file mode 100644 index 00000000000..e48606265af --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/csneg.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ +/* { dg-options "-O2 -march=3Darmv8.1-m.main" } */ + +int +test_csneg32_condasn1(int w0, int w1, int w2, int w3) +{ + int w4; + + /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*ne" } } */ + w4 =3D (w0 =3D=3D w1) ? -w2 : w3; + return w4; +} + +int +test_csneg32_condasn2(int w0, int w1, int w2, int w3) +{ + int w4; + + /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*eq" } } */ + w4 =3D (w0 =3D=3D w1) ? w3 : -w2; + return w4; +} + +unsigned long long +test_csneg_uxtw (unsigned int a, unsigned int b, unsigned int c) +{ + unsigned int val; + + /* { dg-final { scan-assembler "csneg\tr\[0-9\]*.*ne" } } */ + val =3D a ? b : -c; + return val; +} --_004_AM0PR08MB5121FDFFAA2BD27C41028019924A0AM0PR08MB5121eurp_ Content-Type: application/octet-stream; name="csel_4.patch" Content-Description: csel_4.patch Content-Disposition: attachment; filename="csel_4.patch"; size=2513; creation-date="Tue, 04 Aug 2020 16:14:00 GMT"; modification-date="Tue, 04 Aug 2020 16:06:06 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS5tZCBiL2djYy9jb25maWcvYXJtL2FybS5t ZAppbmRleCBhNmEzMWY4ZjRlZi4uOTUwZTQ2ZWRmZWUgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcv YXJtL2FybS5tZAorKysgYi9nY2MvY29uZmlnL2FybS9hcm0ubWQKQEAgLTExMjExLDcgKzExMjEx LDcgQEAKIAkgIFsobWF0Y2hfb3BlcmFuZCAzICJjY19yZWdpc3RlciIgIiIpIChjb25zdF9pbnQg MCldKQogCSAobmVnOlNJIChtYXRjaF9vcGVyYW5kOlNJIDIgInNfcmVnaXN0ZXJfb3BlcmFuZCIg ImwsciIpKQogCSAobWF0Y2hfb3BlcmFuZDpTSSAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICIwLDAi KSkpXQotICAiVEFSR0VUXzMyQklUIgorICAiVEFSR0VUXzMyQklUICYmICFUQVJHRVRfQ09ORF9B UklUSCIKICAgIiMiCiAgICImJiByZWxvYWRfY29tcGxldGVkIgogICBbKGNvbmRfZXhlYyAobWF0 Y2hfb3BfZHVwIDQgWyhtYXRjaF9kdXAgMykgKGNvbnN0X2ludCAwKV0pCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL2FybS90aHVtYjIubWQgYi9nY2MvY29uZmlnL2FybS90aHVtYjIubWQKaW5kZXgg NzljZjY4NGU1Y2IuLmQxMjQ2N2Q3NjQ0IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FybS90aHVt YjIubWQKKysrIGIvZ2NjL2NvbmZpZy9hcm0vdGh1bWIyLm1kCkBAIC04ODAsNyArODgwLDcgQEAK IAkJIFsobWF0Y2hfb3BlcmFuZDpTSSAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICJyIikKIAkJICAo bWF0Y2hfb3BlcmFuZDpTSSAyICJhcm1fcmhzX29wZXJhbmQiICJySSIpXSkpKQogICAgKGNsb2Ji ZXIgKHJlZzpDQyBDQ19SRUdOVU0pKV0KLSAgIlRBUkdFVF9USFVNQjIiCisgICJUQVJHRVRfVEhV TUIyICYmICFUQVJHRVRfQ09ORF9BUklUSCIKICAgIiMiCiAgICImJiByZWxvYWRfY29tcGxldGVk IgogICBbKGNvbnN0X2ludCAwKV0KQEAgLTk3MCw2ICs5NzAsMjAgQEAKICAgIChzZXRfYXR0ciAi cHJlZGljYWJsZSIgIm5vIildCiApCiAKKyhkZWZpbmVfaW5zbiAiKnRodW1iMl9jc25lZyIKKyAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAiYXJtX2dlbmVyYWxfcmVnaXN0ZXJfb3BlcmFuZCIg Ij1yLCByIikKKyAgKGlmX3RoZW5fZWxzZTpTSQorICAgIChtYXRjaF9vcGVyYW5kIDEgImFybV9j b21wYXJpc29uX29wZXJhdGlvbiIgIiIpCisgICAgKG5lZzpTSSAobWF0Y2hfb3BlcmFuZDpTSSAy ICJhcm1fZ2VuZXJhbF9yZWdpc3Rlcl9vcGVyYW5kIiAiciwgciIpKQorICAgIChtYXRjaF9vcGVy YW5kOlNJIDMgInJlZ19vcl96ZXJvX29wZXJhbmQiICJyLCBaIikpKV0KKyAgIlRBUkdFVF9DT05E X0FSSVRIIgorICAiQAorICAgY3NuZWdcXHQlMCwgJTMsICUyLCAlRDEKKyAgIGNzbmVnXFx0JTAs IHpyLCAlMiwgJUQxIgorICBbKHNldF9hdHRyICJ0eXBlIiAiY3NlbCIpCisgICAoc2V0X2F0dHIg InByZWRpY2FibGUiICJubyIpXQorKQorCiAoZGVmaW5lX2luc24gIip0aHVtYjJfbW92Y29uZCIK ICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAic19yZWdpc3Rlcl9vcGVyYW5kIiAiPVRzLFRz LFRzIikKIAkoaWZfdGhlbl9lbHNlOlNJCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYXJtL2NzbmVnLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL2NzbmVnLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU0ODYwNjI2NWFmCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9jc25lZy5jCkBAIC0w LDAgKzEsMzMgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCBhcm1fYXJjaF92OF8xbV9tYWluX29rIH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8yIC1tYXJjaD1hcm12OC4xLW0ubWFpbiIgfSAqLworCitpbnQKK3Rlc3RfY3NuZWczMl9j b25kYXNuMShpbnQgdzAsIGludCB3MSwgaW50IHcyLCBpbnQgdzMpCit7CisgIGludCB3NDsKKwor ICAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgImNzbmVnXHRyXFswLTlcXSouKm5lIiB9 IH0gKi8KKyAgdzQgPSAodzAgPT0gdzEpID8gLXcyIDogdzM7CisgIHJldHVybiB3NDsKK30KKwor aW50Cit0ZXN0X2NzbmVnMzJfY29uZGFzbjIoaW50IHcwLCBpbnQgdzEsIGludCB3MiwgaW50IHcz KQoreworICBpbnQgdzQ7CisKKyAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJjc25l Z1x0clxbMC05XF0qLiplcSIgfSB9ICovCisgIHc0ID0gKHcwID09IHcxKSA/IHczIDogLXcyOwor ICByZXR1cm4gdzQ7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZwordGVzdF9jc25lZ191eHR3ICh1 bnNpZ25lZCBpbnQgYSwgdW5zaWduZWQgaW50IGIsIHVuc2lnbmVkIGludCBjKQoreworICB1bnNp Z25lZCBpbnQgdmFsOworCisgIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAiY3NuZWdc dHJcWzAtOVxdKi4qbmUiIH0gfSAqLworICB2YWwgPSBhID8gYiA6IC1jOworICByZXR1cm4gdmFs OworfQo= --_004_AM0PR08MB5121FDFFAA2BD27C41028019924A0AM0PR08MB5121eurp_--