From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 130035 invoked by alias); 24 Feb 2020 15:43:02 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 130027 invoked by uid 89); 24 Feb 2020 15:43:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_NONE,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 spammy=H*r:10a6, r16, malcomson, nonaccumulator X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-eopbgr150074.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.107.15.74) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Feb 2020 15:42:51 +0000 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=SZMUKP5Z9MQn4KCyMXgOdf0oImmZR1nJ+GyydIf/Qms=; b=C2FMMRA++vpAMSlWjIg/vWgWPp7/cWYwnPLVdmQouCScsjMHf4P62M+btBPoyc6Wt429Vf876IywnJOdjBDhP1GDqiTor8TlmxH4UtaBrXe4+Ct240U7VghYg40hrzJMuG+9HRNNwXJs12ysBPlT4eRoKLFGijIS9nMS9dpoLB0= Received: from AM6PR08CA0047.eurprd08.prod.outlook.com (2603:10a6:20b:c0::35) by AM5PR0802MB2595.eurprd08.prod.outlook.com (2603:10a6:203:a2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.21; Mon, 24 Feb 2020 15:42:47 +0000 Received: from DB5EUR03FT020.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::205) by AM6PR08CA0047.outlook.office365.com (2603:10a6:20b:c0::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Mon, 24 Feb 2020 15:42:47 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.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 DB5EUR03FT020.mail.protection.outlook.com (10.152.20.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.17 via Frontend Transport; Mon, 24 Feb 2020 15:42:47 +0000 Received: ("Tessian outbound 62d9cfe08e54:v42"); Mon, 24 Feb 2020 15:42:47 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 15417223c08dc194 X-CR-MTA-TID: 64aa7808 Received: from c56af5fb0993.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 35AE962D-7134-47A9-8A2E-321FF635E49A.1; Mon, 24 Feb 2020 15:42:41 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c56af5fb0993.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 Feb 2020 15:42:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V6x7tazI7N3XJxeGsINaW/AbKbCNl5nmkUCgQWwvAG4eoUwQLavF2/SnroRWB/1Cr7incQSIeptAkDtM5bsZEW1Zgcjelffu9MUXWvKI1T0r9mPhXXtK2CzJ+rOoIGe3xUUWm6CNtkOx1+j4CQI8SLVRyKymCMNcpmpE8XqW5e1/x6SSliFVnYrm4uZmKXdpsXy8TyWDghFI6fmz4f/DVxhrtmDSH9KtSqt5TQdXRhuOfiNQUsyR+8LKSRodGeM3kJSIagSLi1PED4RVITD9ZXT+z8amXdPZO+qmZ+xaHnc4YGu260QHtU1/79n/ebVgZZO2/c77nZikvm2CvyXobA== 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=SZMUKP5Z9MQn4KCyMXgOdf0oImmZR1nJ+GyydIf/Qms=; b=nJ3tbAYfsXCk8wFSY8khRZsnLsiip1QKnnlL7foVXSlWTUNNY70e0BBkAtDuGl4LO/PtD4rZeOC/5k+4o0JstT0JR0tE1hCCH8F2WSaAjMUTa9QWuBIuFpqFkg0zZpRnTMZ1UwpxYQsnAF2RZzn5a+2IIuA/VaALRvdn0mAxjqlhSUuTcnP2/5EilZRgKYhBbFJmB8xn4LLuXX6vmsfX//acAv44ngdOHvQIyK7MKIXjKTx4oGOQML0kB4xQXdavhbOKUK4DZG5/DAkIK0cxx5CtbeAf/dY1j04csB17blIwcpcreUIqH8xrQhiPuWUJnXsbmXNhyR0z9wfo6RfJ8g== 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=SZMUKP5Z9MQn4KCyMXgOdf0oImmZR1nJ+GyydIf/Qms=; b=C2FMMRA++vpAMSlWjIg/vWgWPp7/cWYwnPLVdmQouCScsjMHf4P62M+btBPoyc6Wt429Vf876IywnJOdjBDhP1GDqiTor8TlmxH4UtaBrXe4+Ct240U7VghYg40hrzJMuG+9HRNNwXJs12ysBPlT4eRoKLFGijIS9nMS9dpoLB0= Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Matthew.Malcomson@arm.com; Received: from AM6PR08MB4326.eurprd08.prod.outlook.com (20.179.6.11) by AM6PR08MB2966.eurprd08.prod.outlook.com (52.135.168.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.21; Mon, 24 Feb 2020 15:42:39 +0000 Received: from AM6PR08MB4326.eurprd08.prod.outlook.com ([fe80::c08d:e5d6:6518:d4bb]) by AM6PR08MB4326.eurprd08.prod.outlook.com ([fe80::c08d:e5d6:6518:d4bb%5]) with mapi id 15.20.2750.021; Mon, 24 Feb 2020 15:42:39 +0000 Content-Type: multipart/mixed; boundary="===============7702135440857270485==" From: Matthew Malcomson Date: Mon, 24 Feb 2020 15:43:00 -0000 To: binutils@sourceware.org Cc: Richard.Earnshaw@arm.com, nickc@redhat.com, nd@arm.com, ramana.radhakrishnan@arm.com Subject: [binutils][arm] Arm CDE CX*A instructions allow condition code Message-ID: MIME-Version: 1.0 Received: from e120487-lin.cambridge.arm.com (217.140.106.52) by LO2P123CA0021.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:a6::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Mon, 24 Feb 2020 15:42:38 +0000 X-MS-Exchange-Transport-Forked: True x-checkrecipientrouted: true X-MS-Oob-TLC-OOBClassifiers: OLM:4714;OLM:4714; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(346002)(376002)(39860400002)(366004)(136003)(396003)(189003)(199004)(6512007)(9686003)(33964004)(52116002)(186003)(16526019)(235185007)(81166006)(2906002)(8676002)(5660300002)(66556008)(8936002)(316002)(81156014)(4326008)(66476007)(26005)(956004)(86362001)(33656002)(52536014)(478600001)(30864003)(44832011)(66946007)(6486002)(66616009)(6916009)(473944003)(414714003)(357404004);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR08MB2966;H:AM6PR08MB4326.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: s8zjyv3hKch/hcIbCLnmonkKnZuN0nUw5HUs4Wdqrl9ceXrw8XLqb+88SRyhx9WnkDxQXMYNfkNsBlTDHZvWq6vhbGo4EOVZVc+oUpwFS/se2OFPHU7Yyuc8SwhA7hJuT8a0FA6nSD9jlUDpli3kFSlhkY83LJbAESAuIL51RgF/ycjfpz3AovUtCpYOwbKa//SSS4pucWbDnvLpzaVhFiFbBSKYX9eomgqCtzlWgPMczh+w2ROIbvPgwQnwb2UzBAInt5rot4QZcUHfTP71eLZsdBfx1R0PpbqR6NABnMbFbwQjh/KYUxzyJfWjrsjHIxmu5vOlJdCl0F1/0pMVA1Vwo2hO1pQljsDi594Zjl7HMh6rZy3PLyaUBDAAk3ZckwKvyHFoT7ZznGxppaXrimjB2ZWS8yBvXfsw6nG4HQP9wAeERjwNvSHzQZ3terjyrEL6uuLIpFmaGCvR2aiC978PDVdfX5F/iXhkXDyojJLRB4v52p0Nbqp2KCLuwgovhcUNuH6ezxdM68Cw0eVOC17ABu71g/2ebV1IESi/rSc= X-MS-Exchange-AntiSpam-MessageData: 5wPzSsOmCMIdJvdfTwrCZunRtQJitU2sLK7LSODNn/fhMwTiRD1qplzXyuvqYy6cKwOAhSuvuxexv7bulmWd5wEnvQIFdv6hNqWQczUEmeW1mti7TQMBk9ig5/XSduzS4LNt6pK+BZ//Ar+1m2tWiA== Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Matthew.Malcomson@arm.com; Return-Path: Matthew.Malcomson@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 8fba06c5-807b-4de6-d255-08d7b9402d89 X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00529.txt.bz2 --===============7702135440857270485== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-length: 11697 The implementation of the Arm CDE CX*A instructions doesn't allow a condition code on the instructions but does allow the instruction in an ITBlock. The specification has been recently updated, though this is yet to be published. The instructions now should allow a suffix, and should behave in the standard way around ITBlocks. This patch removes the custom pred_instruction_type and handling for these instructions, and uses the standard INSIDE_IT_INSN predication type to describe the new instructions. gas/ChangeLog: 2020-02-24 Matthew Malcomson * config/tc-arm.c (enum pred_instruction_type): Remove NEUTRAL_IT_NO_VPT_INSN predication type. (cxn_handle_predication): Modify to require condition suffixes. (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases. * testsuite/gas/arm/cde-scalar.s: Update test. * testsuite/gas/arm/cde-warnings.l: Update test. * testsuite/gas/arm/cde-warnings.s: Update test. ############### Attachment also inlined for ease of reply ############### diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 48b1d3603f8c77ceb06d6e0f078f5e3cd612466e..06fbeb9413195e2adaa6da3edb4a1e49b179ce89 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -506,8 +506,6 @@ enum pred_instruction_type MVE_OUTSIDE_PRED_INSN , /* Instruction to indicate a MVE instruction without a predication code. */ MVE_UNPREDICABLE_INSN, /* MVE instruction that is non-predicable. */ - NEUTRAL_IT_NO_VPT_INSN, /* Instruction that can be either inside or outside - an IT block, but must not be in a VPT block. */ }; /* The maximum number of operands we need. */ @@ -21674,15 +21672,13 @@ cde_handle_coproc (void) static void cxn_handle_predication (bfd_boolean is_accum) { - /* This function essentially checks for a suffix, not whether the instruction - is inside an IT block or not. - The CX* instructions should never have a conditional suffix -- this is not - mentioned in the syntax. */ - if (conditional_insn ()) + if (is_accum && conditional_insn ()) + set_pred_insn_type (INSIDE_IT_INSN); + else if (conditional_insn ()) + /* conditional_insn essentially checks for a suffix, not whether the + instruction is inside an IT block or not. + The non-accumulator versions should not have suffixes. */ inst.error = BAD_SYNTAX; - /* Here we ensure that if the current element */ - else if (is_accum) - set_pred_insn_type (NEUTRAL_IT_NO_VPT_INSN); else set_pred_insn_type (OUTSIDE_PRED_INSN); } @@ -22980,7 +22976,6 @@ handle_pred_state (void) gas_assert (0); case IF_INSIDE_IT_LAST_INSN: case NEUTRAL_IT_INSN: - case NEUTRAL_IT_NO_VPT_INSN: break; case VPT_INSN: @@ -23044,12 +23039,6 @@ handle_pred_state (void) close_automatic_it_block (); break; - case NEUTRAL_IT_NO_VPT_INSN: - if (now_pred.type == VECTOR_PRED) - { - inst.error = BAD_NO_VPT; - break; - } /* Fallthrough. */ case NEUTRAL_IT_INSN: now_pred.block_length++; @@ -23234,13 +23223,6 @@ handle_pred_state (void) } break; - case NEUTRAL_IT_NO_VPT_INSN: - if (now_pred.type == VECTOR_PRED) - { - inst.error = BAD_NO_VPT; - break; - } - /* Fallthrough. */ case NEUTRAL_IT_INSN: /* The BKPT instruction is unconditional even in a IT or VPT block. */ diff --git a/gas/testsuite/gas/arm/cde-scalar.s b/gas/testsuite/gas/arm/cde-scalar.s index ac188a3aa03f9239262b1958417df45d0b635939..43f6f726e517af8a773007769b9285c5d9d5a43e 100644 --- a/gas/testsuite/gas/arm/cde-scalar.s +++ b/gas/testsuite/gas/arm/cde-scalar.s @@ -37,7 +37,7 @@ cx1a p0, APSR_nzcv, #0 cx1a p0, r9, #0 it ne -cx1a p0, r0, #0 +cx1ane p0, r0, #0 # cx1d{a} encoding of following form: # 111a111000iiiiiidddd0pppi1iiiiii @@ -65,7 +65,7 @@ cx1da p7, r0, r1, #0 cx1da p0, r10, r11, #0 it ne -cx1da p0, r0, r1, #0 +cx1dane p0, r0, r1, #0 # cx2{a} Has arguments of the following form: @@ -100,7 +100,7 @@ cx2a p0, r0, APSR_nzcv, #0 cx2a p0, r0, r9, #0 it ne -cx2a p0, r0, r0, #0 +cx2ane p0, r0, r0, #0 # cx2d{a} encoding has following form: # 111a111001iinnnndddd0pppi1iiiiii @@ -168,7 +168,7 @@ cx3a p0, r0, r0, APSR_nzcv, #0 cx3a p0, r0, r0, r9, #0 it ne -cx3a p0, r0, r0, r0, #0 +cx3ane p0, r0, r0, r0, #0 # cx3d{a} encoding has following form: # 111a11101iiinnnnmmmm0pppi1iidddd diff --git a/gas/testsuite/gas/arm/cde-warnings.l b/gas/testsuite/gas/arm/cde-warnings.l index d0380d9d79a647d4c48f92a5524b0073d96bce89..5c698501d2abf45d6554ae59ea0e6b66b1f5e215 100644 --- a/gas/testsuite/gas/arm/cde-warnings.l +++ b/gas/testsuite/gas/arm/cde-warnings.l @@ -11,7 +11,8 @@ [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx1a p0,r13,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx1 p0,r0,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx1ne p0,r0,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx1ane p0,r0,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx1a p0,r0,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx1aeq p0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx1 p1,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx1a p1,r0,#0' [^ :]+:[0-9]+: Error: constant expression required -- `cx1 p0,r0,r0,#0' @@ -35,8 +36,9 @@ [^ :]+:[0-9]+: Error: Register must be an even register between r0-r10\. -- `cx1d p0,r13,r14,#0' [^ :]+:[0-9]+: Error: Register must be an even register between r0-r10\. -- `cx1da p0,r13,r14,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx1d p0,r0,r1,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx1da p0,r0,r1,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx1dne p0,r0,r1,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx1dane p0,r0,r1,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx1daeq p0,r0,r1,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx1d p1,r0,r1,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx1da p1,r0,r1,#0' [^ :]+:[0-9]+: Error: cx1d requires consecutive destination registers\. -- `cx1d p0,r0,r2,#0' @@ -60,8 +62,9 @@ [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx2 p0,r0,r13,#0' [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx2a p0,r0,r13,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx2 p0,r0,r0,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx2a p0,r0,r0,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx2ne p0,r0,r0,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx2ane p0,r0,r0,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx2aeq p0,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx2 p1,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx2a p1,r0,r0,#0' [^ :]+:[0-9]+: Error: constant expression required -- `cx2 p0,r0,r0,r0,#0' @@ -93,8 +96,9 @@ [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx2d p0,r0,r1,r15,#0' [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx2da p0,r0,r1,r15,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx2d p0,r0,r1,r0,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx2da p0,r0,r1,r0,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx2dne p0,r0,r1,r0,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx2dane p0,r0,r1,r0,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx2daeq p0,r0,r1,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx2d p1,r0,r1,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx2da p1,r0,r1,r0,#0' [^ :]+:[0-9]+: Error: cx2d requires consecutive destination registers\. -- `cx2d p0,r0,r2,r0,#0' @@ -122,8 +126,9 @@ [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx3 p0,r0,r0,r13,#0' [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx3a p0,r0,r0,r13,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx3 p0,r0,r0,r0,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx3a p0,r0,r0,r0,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx3ne p0,r0,r0,r0,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx3ane p0,r0,r0,r0,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx3aeq p0,r0,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx3 p1,r0,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx3a p1,r0,r0,r0,#0' [^ :]+:[0-9]+: Error: constant expression required -- `cx3 p0,r0,r0,r0,r0,#0' @@ -163,8 +168,9 @@ [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx3d p0,r0,r1,r0,r15,#0' [^ :]+:[0-9]+: Error: Register must be r0-r14 except r13, or APSR_nzcv\. -- `cx3da p0,r0,r1,r0,r15,#0' [^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx3d p0,r0,r1,r0,r0,#0' +[^ :]+:[0-9]+: Error: instruction not allowed in IT block -- `cx3da p0,r0,r1,r0,r0,#0' [^ :]+:[0-9]+: Error: syntax error -- `cx3dne p0,r0,r1,r0,r0,#0' -[^ :]+:[0-9]+: Error: syntax error -- `cx3dane p0,r0,r1,r0,r0,#0' +[^ :]+:[0-9]+: Error: incorrect condition in IT block -- `cx3daeq p0,r0,r1,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx3d p1,r0,r1,r0,r0,#0' [^ :]+:[0-9]+: Error: coprocessor for insn is not enabled for cde -- `cx3da p1,r0,r1,r0,r0,#0' [^ :]+:[0-9]+: Error: cx3d requires consecutive destination registers\. -- `cx3d p0,r0,r2,r0,r0,#0' diff --git a/gas/testsuite/gas/arm/cde-warnings.s b/gas/testsuite/gas/arm/cde-warnings.s index 34b923f4e0c5f40aec12132428db60fbadf0c691..d1d9840553a0e94fa114b94d8519a0ae76758e3e 100644 --- a/gas/testsuite/gas/arm/cde-warnings.s +++ b/gas/testsuite/gas/arm/cde-warnings.s @@ -23,10 +23,11 @@ cx1a p0, r16, #0 cx1 p0, r13, #0 cx1a p0, r13, #0 -ittt ne +itttt ne cx1 p0, r0, #0 cx1ne p0, r0, #0 -cx1ane p0, r0, #0 +cx1a p0, r0, #0 +cx1aeq p0, r0, #0 cx1 p1, r0, #0 cx1a p1, r0, #0 @@ -73,10 +74,11 @@ cx1da p0, r9, r10, #0 cx1d p0, r13, r14, #0 cx1da p0, r13, r14, #0 -ittt ne +itttt ne cx1d p0, r0, r1, #0 +cx1da p0, r0, r1, #0 cx1dne p0, r0, r1, #0 -cx1dane p0, r0, r1, #0 +cx1daeq p0, r0, r1, #0 cx1d p1, r0, r1, #0 cx1da p1, r0, r1, #0 @@ -122,10 +124,11 @@ cx2a p0, r13, r0, #0 cx2 p0, r0, r13, #0 cx2a p0, r0, r13, #0 -ittt ne +itttt ne cx2 p0, r0, r0, #0 +cx2a p0, r0, r0, #0 cx2ne p0, r0, r0, #0 -cx2ane p0, r0, r0, #0 +cx2aeq p0, r0, r0, #0 cx2 p1, r0, r0, #0 cx2a p1, r0, r0, #0 @@ -184,10 +187,11 @@ cx2da p0, r0, r1, r13, #0 cx2d p0, r0, r1, r15, #0 cx2da p0, r0, r1, r15, #0 -ittt ne +itttt ne cx2d p0, r0, r1, r0, #0 +cx2da p0, r0, r1, r0, #0 cx2dne p0, r0, r1, r0, #0 -cx2dane p0, r0, r1, r0, #0 +cx2daeq p0, r0, r1, r0, #0 cx2d p1, r0, r1, r0, #0 cx2da p1, r0, r1, r0, #0 @@ -240,10 +244,11 @@ cx3a p0, r0, r13, r0, #0 cx3 p0, r0, r0, r13, #0 cx3a p0, r0, r0, r13, #0 -ittt ne +itttt ne cx3 p0, r0, r0, r0, #0 +cx3a p0, r0, r0, r0, #0 cx3ne p0, r0, r0, r0, #0 -cx3ane p0, r0, r0, r0, #0 +cx3aeq p0, r0, r0, r0, #0 cx3 p1, r0, r0, r0, #0 cx3a p1, r0, r0, r0, #0 @@ -317,10 +322,11 @@ cx3da p0, r0, r1, r15, r0, #0 cx3d p0, r0, r1, r0, r15, #0 cx3da p0, r0, r1, r0, r15, #0 -ittt ne +itttt ne cx3d p0, r0, r1, r0, r0, #0 +cx3da p0, r0, r1, r0, r0, #0 cx3dne p0, r0, r1, r0, r0, #0 -cx3dane p0, r0, r1, r0, r0, #0 +cx3daeq p0, r0, r1, r0, r0, #0 cx3d p1, r0, r1, r0, r0, #0 cx3da p1, r0, r1, r0, r0, #0 --===============7702135440857270485== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cde-update.patch" Content-length: 14445 ZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtYXJtLmMgYi9nYXMvY29uZmln L3RjLWFybS5jCmluZGV4IDQ4YjFkMzYwM2Y4Yzc3Y2ViMDZkNmUwZjA3OGY1 ZTNjZDYxMjQ2NmUuLjA2ZmJlYjk0MTMxOTVlMmFkYWE2ZGEzZWRiNGExZTQ5 YjE3OWNlODkgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtYXJtLmMKKysr IGIvZ2FzL2NvbmZpZy90Yy1hcm0uYwpAQCAtNTA2LDggKzUwNiw2IEBAIGVu dW0gcHJlZF9pbnN0cnVjdGlvbl90eXBlCiAgICBNVkVfT1VUU0lERV9QUkVE X0lOU04gLCAvKiBJbnN0cnVjdGlvbiB0byBpbmRpY2F0ZSBhIE1WRSBpbnN0 cnVjdGlvbiB3aXRob3V0CiAJCQkgICAgICBhIHByZWRpY2F0aW9uIGNvZGUu ICAqLwogICAgTVZFX1VOUFJFRElDQUJMRV9JTlNOLCAgLyogTVZFIGluc3Ry dWN0aW9uIHRoYXQgaXMgbm9uLXByZWRpY2FibGUuICAqLwotICAgTkVVVFJB TF9JVF9OT19WUFRfSU5TTiwgLyogSW5zdHJ1Y3Rpb24gdGhhdCBjYW4gYmUg ZWl0aGVyIGluc2lkZSBvciBvdXRzaWRlCi0JCQkgICAgICBhbiBJVCBibG9j aywgYnV0IG11c3Qgbm90IGJlIGluIGEgVlBUIGJsb2NrLiAgKi8KIH07CiAK IC8qIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVyYW5kcyB3ZSBuZWVkLiAg Ki8KQEAgLTIxNjc0LDE1ICsyMTY3MiwxMyBAQCBjZGVfaGFuZGxlX2NvcHJv YyAodm9pZCkKIHN0YXRpYyB2b2lkCiBjeG5faGFuZGxlX3ByZWRpY2F0aW9u IChiZmRfYm9vbGVhbiBpc19hY2N1bSkKIHsKLSAgLyogVGhpcyBmdW5jdGlv biBlc3NlbnRpYWxseSBjaGVja3MgZm9yIGEgc3VmZml4LCBub3Qgd2hldGhl ciB0aGUgaW5zdHJ1Y3Rpb24KLSAgICAgaXMgaW5zaWRlIGFuIElUIGJsb2Nr IG9yIG5vdC4KLSAgICAgVGhlIENYKiBpbnN0cnVjdGlvbnMgc2hvdWxkIG5l dmVyIGhhdmUgYSBjb25kaXRpb25hbCBzdWZmaXggLS0gdGhpcyBpcyBub3QK LSAgICAgbWVudGlvbmVkIGluIHRoZSBzeW50YXguICAqLwotICBpZiAoY29u ZGl0aW9uYWxfaW5zbiAoKSkKKyAgaWYgKGlzX2FjY3VtICYmIGNvbmRpdGlv bmFsX2luc24gKCkpCisgICAgc2V0X3ByZWRfaW5zbl90eXBlIChJTlNJREVf SVRfSU5TTik7CisgIGVsc2UgaWYgKGNvbmRpdGlvbmFsX2luc24gKCkpCisg IC8qIGNvbmRpdGlvbmFsX2luc24gZXNzZW50aWFsbHkgY2hlY2tzIGZvciBh IHN1ZmZpeCwgbm90IHdoZXRoZXIgdGhlCisgICAgIGluc3RydWN0aW9uIGlz IGluc2lkZSBhbiBJVCBibG9jayBvciBub3QuCisgICAgIFRoZSBub24tYWNj dW11bGF0b3IgdmVyc2lvbnMgc2hvdWxkIG5vdCBoYXZlIHN1ZmZpeGVzLiAg Ki8KICAgICBpbnN0LmVycm9yID0gQkFEX1NZTlRBWDsKLSAgLyogSGVyZSB3 ZSBlbnN1cmUgdGhhdCBpZiB0aGUgY3VycmVudCBlbGVtZW50ICAqLwotICBl bHNlIGlmIChpc19hY2N1bSkKLSAgICBzZXRfcHJlZF9pbnNuX3R5cGUgKE5F VVRSQUxfSVRfTk9fVlBUX0lOU04pOwogICBlbHNlCiAgICAgc2V0X3ByZWRf aW5zbl90eXBlIChPVVRTSURFX1BSRURfSU5TTik7CiB9CkBAIC0yMjk4MCw3 ICsyMjk3Niw2IEBAIGhhbmRsZV9wcmVkX3N0YXRlICh2b2lkKQogCSAgICBn YXNfYXNzZXJ0ICgwKTsKIAljYXNlIElGX0lOU0lERV9JVF9MQVNUX0lOU046 CiAJY2FzZSBORVVUUkFMX0lUX0lOU046Ci0JY2FzZSBORVVUUkFMX0lUX05P X1ZQVF9JTlNOOgogCSAgYnJlYWs7CiAKIAljYXNlIFZQVF9JTlNOOgpAQCAt MjMwNDQsMTIgKzIzMDM5LDYgQEAgaGFuZGxlX3ByZWRfc3RhdGUgKHZvaWQp CiAJICAgIGNsb3NlX2F1dG9tYXRpY19pdF9ibG9jayAoKTsKIAkgIGJyZWFr OwogCi0JY2FzZSBORVVUUkFMX0lUX05PX1ZQVF9JTlNOOgotCSAgaWYgKG5v d19wcmVkLnR5cGUgPT0gVkVDVE9SX1BSRUQpCi0JICAgIHsKLQkgICAgICBp bnN0LmVycm9yID0gQkFEX05PX1ZQVDsKLQkgICAgICBicmVhazsKLQkgICAg fQogCSAgLyogRmFsbHRocm91Z2guICAqLwogCWNhc2UgTkVVVFJBTF9JVF9J TlNOOgogCSAgbm93X3ByZWQuYmxvY2tfbGVuZ3RoKys7CkBAIC0yMzIzNCwx MyArMjMyMjMsNiBAQCBoYW5kbGVfcHJlZF9zdGF0ZSAodm9pZCkKIAkgICAg ICB9CiAJICAgIGJyZWFrOwogCi0JICBjYXNlIE5FVVRSQUxfSVRfTk9fVlBU X0lOU046Ci0JICAgIGlmIChub3dfcHJlZC50eXBlID09IFZFQ1RPUl9QUkVE KQotCSAgICAgIHsKLQkJaW5zdC5lcnJvciA9IEJBRF9OT19WUFQ7Ci0JCWJy ZWFrOwotCSAgICAgIH0KLQkgICAgLyogRmFsbHRocm91Z2guICAqLwogCSAg Y2FzZSBORVVUUkFMX0lUX0lOU046CiAJICAgIC8qIFRoZSBCS1BUIGluc3Ry dWN0aW9uIGlzIHVuY29uZGl0aW9uYWwgZXZlbiBpbiBhIElUIG9yIFZQVAog CSAgICAgICBibG9jay4gICovCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRl L2dhcy9hcm0vY2RlLXNjYWxhci5zIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJt L2NkZS1zY2FsYXIucwppbmRleCBhYzE4OGEzYWEwM2Y5MjM5MjYyYjE5NTg0 MTdkZjQ1ZDBiNjM1OTM5Li40M2Y2ZjcyNmU1MTdhZjhhNzczMDA3NzY5Yjky ODVjNWQ5ZDVhNDNlIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9h cm0vY2RlLXNjYWxhci5zCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2FybS9j ZGUtc2NhbGFyLnMKQEAgLTM3LDcgKzM3LDcgQEAgY3gxYSBwMCwgQVBTUl9u emN2LCAjMAogY3gxYSBwMCwgcjksICMwCiAKIGl0IG5lCi1jeDFhIHAwLCBy MCwgIzAKK2N4MWFuZSBwMCwgcjAsICMwCiAKICMgY3gxZHthfSBlbmNvZGlu ZyBvZiBmb2xsb3dpbmcgZm9ybToKICMgMTExYTExMTAwMGlpaWlpaWRkZGQw cHBwaTFpaWlpaWkKQEAgLTY1LDcgKzY1LDcgQEAgY3gxZGEgcDcsIHIwLCBy MSwgIzAKIGN4MWRhIHAwLCByMTAsIHIxMSwgIzAKIAogaXQgbmUKLWN4MWRh IHAwLCByMCwgcjEsICMwCitjeDFkYW5lIHAwLCByMCwgcjEsICMwCiAKIAog IyBjeDJ7YX0gSGFzIGFyZ3VtZW50cyBvZiB0aGUgZm9sbG93aW5nIGZvcm06 CkBAIC0xMDAsNyArMTAwLDcgQEAgY3gyYSBwMCwgcjAsIEFQU1Jfbnpjdiwg IzAKIGN4MmEgcDAsIHIwLCByOSwgIzAKIAogaXQgbmUKLWN4MmEgcDAsIHIw LCByMCwgIzAKK2N4MmFuZSBwMCwgcjAsIHIwLCAjMAogCiAjIGN4MmR7YX0g ZW5jb2RpbmcgaGFzIGZvbGxvd2luZyBmb3JtOgogIyAxMTFhMTExMDAxaWlu bm5uZGRkZDBwcHBpMWlpaWlpaQpAQCAtMTY4LDcgKzE2OCw3IEBAIGN4M2Eg cDAsIHIwLCByMCwgQVBTUl9uemN2LCAjMAogY3gzYSBwMCwgcjAsIHIwLCBy OSwgIzAKIAogaXQgbmUKLWN4M2EgcDAsIHIwLCByMCwgcjAsICMwCitjeDNh bmUgcDAsIHIwLCByMCwgcjAsICMwCiAKICMgY3gzZHthfSBlbmNvZGluZyBo YXMgZm9sbG93aW5nIGZvcm06CiAjIDExMWExMTEwMWlpaW5ubm5tbW1tMHBw cGkxaWlkZGRkCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9hcm0v Y2RlLXdhcm5pbmdzLmwgYi9nYXMvdGVzdHN1aXRlL2dhcy9hcm0vY2RlLXdh cm5pbmdzLmwKaW5kZXggZDAzODBkOWQ3OWE2NDdkNGM0OGY5MmE1NTI0YjAw NzNkOTZiY2U4OS4uNWM2OTg1MDFkMmFiZjQ1ZDY1NTRhZTU5ZWEwZTZiNjZi MWY1ZTIxNSAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJtL2Nk ZS13YXJuaW5ncy5sCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2FybS9jZGUt d2FybmluZ3MubApAQCAtMTEsNyArMTEsOCBAQAogW14gOl0rOlswLTldKzog RXJyb3I6IFJlZ2lzdGVyIG11c3QgYmUgcjAtcjE0IGV4Y2VwdCByMTMsIG9y IEFQU1JfbnpjdlwuIC0tIGBjeDFhIHAwLHIxMywjMCcKIFteIDpdKzpbMC05 XSs6IEVycm9yOiBpbnN0cnVjdGlvbiBub3QgYWxsb3dlZCBpbiBJVCBibG9j ayAtLSBgY3gxIHAwLHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IHN5 bnRheCBlcnJvciAtLSBgY3gxbmUgcDAscjAsIzAnCi1bXiA6XSs6WzAtOV0r OiBFcnJvcjogc3ludGF4IGVycm9yIC0tIGBjeDFhbmUgcDAscjAsIzAnCitb XiA6XSs6WzAtOV0rOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IGFsbG93ZWQg aW4gSVQgYmxvY2sgLS0gYGN4MWEgcDAscjAsIzAnCitbXiA6XSs6WzAtOV0r OiBFcnJvcjogaW5jb3JyZWN0IGNvbmRpdGlvbiBpbiBJVCBibG9jayAtLSBg Y3gxYWVxIHAwLHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGNvcHJv Y2Vzc29yIGZvciBpbnNuIGlzIG5vdCBlbmFibGVkIGZvciBjZGUgLS0gYGN4 MSBwMSxyMCwjMCcKIFteIDpdKzpbMC05XSs6IEVycm9yOiBjb3Byb2Nlc3Nv ciBmb3IgaW5zbiBpcyBub3QgZW5hYmxlZCBmb3IgY2RlIC0tIGBjeDFhIHAx LHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGNvbnN0YW50IGV4cHJl c3Npb24gcmVxdWlyZWQgLS0gYGN4MSBwMCxyMCxyMCwjMCcKQEAgLTM1LDgg KzM2LDkgQEAKIFteIDpdKzpbMC05XSs6IEVycm9yOiBSZWdpc3RlciBtdXN0 IGJlIGFuIGV2ZW4gcmVnaXN0ZXIgYmV0d2VlbiByMC1yMTBcLiAtLSBgY3gx ZCBwMCxyMTMscjE0LCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IFJlZ2lz dGVyIG11c3QgYmUgYW4gZXZlbiByZWdpc3RlciBiZXR3ZWVuIHIwLXIxMFwu IC0tIGBjeDFkYSBwMCxyMTMscjE0LCMwJwogW14gOl0rOlswLTldKzogRXJy b3I6IGluc3RydWN0aW9uIG5vdCBhbGxvd2VkIGluIElUIGJsb2NrIC0tIGBj eDFkIHAwLHIwLHIxLCMwJworW14gOl0rOlswLTldKzogRXJyb3I6IGluc3Ry dWN0aW9uIG5vdCBhbGxvd2VkIGluIElUIGJsb2NrIC0tIGBjeDFkYSBwMCxy MCxyMSwjMCcKIFteIDpdKzpbMC05XSs6IEVycm9yOiBzeW50YXggZXJyb3Ig LS0gYGN4MWRuZSBwMCxyMCxyMSwjMCcKLVteIDpdKzpbMC05XSs6IEVycm9y OiBzeW50YXggZXJyb3IgLS0gYGN4MWRhbmUgcDAscjAscjEsIzAnCitbXiA6 XSs6WzAtOV0rOiBFcnJvcjogaW5jb3JyZWN0IGNvbmRpdGlvbiBpbiBJVCBi bG9jayAtLSBgY3gxZGFlcSBwMCxyMCxyMSwjMCcKIFteIDpdKzpbMC05XSs6 IEVycm9yOiBjb3Byb2Nlc3NvciBmb3IgaW5zbiBpcyBub3QgZW5hYmxlZCBm b3IgY2RlIC0tIGBjeDFkIHAxLHIwLHIxLCMwJwogW14gOl0rOlswLTldKzog RXJyb3I6IGNvcHJvY2Vzc29yIGZvciBpbnNuIGlzIG5vdCBlbmFibGVkIGZv ciBjZGUgLS0gYGN4MWRhIHAxLHIwLHIxLCMwJwogW14gOl0rOlswLTldKzog RXJyb3I6IGN4MWQgcmVxdWlyZXMgY29uc2VjdXRpdmUgZGVzdGluYXRpb24g cmVnaXN0ZXJzXC4gLS0gYGN4MWQgcDAscjAscjIsIzAnCkBAIC02MCw4ICs2 Miw5IEBACiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogUmVnaXN0ZXIgbXVzdCBi ZSByMC1yMTQgZXhjZXB0IHIxMywgb3IgQVBTUl9uemN2XC4gLS0gYGN4MiBw MCxyMCxyMTMsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogUmVnaXN0ZXIg bXVzdCBiZSByMC1yMTQgZXhjZXB0IHIxMywgb3IgQVBTUl9uemN2XC4gLS0g YGN4MmEgcDAscjAscjEzLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGlu c3RydWN0aW9uIG5vdCBhbGxvd2VkIGluIElUIGJsb2NrIC0tIGBjeDIgcDAs cjAscjAsIzAnCitbXiA6XSs6WzAtOV0rOiBFcnJvcjogaW5zdHJ1Y3Rpb24g bm90IGFsbG93ZWQgaW4gSVQgYmxvY2sgLS0gYGN4MmEgcDAscjAscjAsIzAn CiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogc3ludGF4IGVycm9yIC0tIGBjeDJu ZSBwMCxyMCxyMCwjMCcKLVteIDpdKzpbMC05XSs6IEVycm9yOiBzeW50YXgg ZXJyb3IgLS0gYGN4MmFuZSBwMCxyMCxyMCwjMCcKK1teIDpdKzpbMC05XSs6 IEVycm9yOiBpbmNvcnJlY3QgY29uZGl0aW9uIGluIElUIGJsb2NrIC0tIGBj eDJhZXEgcDAscjAscjAsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogY29w cm9jZXNzb3IgZm9yIGluc24gaXMgbm90IGVuYWJsZWQgZm9yIGNkZSAtLSBg Y3gyIHAxLHIwLHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGNvcHJv Y2Vzc29yIGZvciBpbnNuIGlzIG5vdCBlbmFibGVkIGZvciBjZGUgLS0gYGN4 MmEgcDEscjAscjAsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogY29uc3Rh bnQgZXhwcmVzc2lvbiByZXF1aXJlZCAtLSBgY3gyIHAwLHIwLHIwLHIwLCMw JwpAQCAtOTMsOCArOTYsOSBAQAogW14gOl0rOlswLTldKzogRXJyb3I6IFJl Z2lzdGVyIG11c3QgYmUgcjAtcjE0IGV4Y2VwdCByMTMsIG9yIEFQU1Jfbnpj dlwuIC0tIGBjeDJkIHAwLHIwLHIxLHIxNSwjMCcKIFteIDpdKzpbMC05XSs6 IEVycm9yOiBSZWdpc3RlciBtdXN0IGJlIHIwLXIxNCBleGNlcHQgcjEzLCBv ciBBUFNSX256Y3ZcLiAtLSBgY3gyZGEgcDAscjAscjEscjE1LCMwJwogW14g Ol0rOlswLTldKzogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBhbGxvd2VkIGlu IElUIGJsb2NrIC0tIGBjeDJkIHAwLHIwLHIxLHIwLCMwJworW14gOl0rOlsw LTldKzogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBhbGxvd2VkIGluIElUIGJs b2NrIC0tIGBjeDJkYSBwMCxyMCxyMSxyMCwjMCcKIFteIDpdKzpbMC05XSs6 IEVycm9yOiBzeW50YXggZXJyb3IgLS0gYGN4MmRuZSBwMCxyMCxyMSxyMCwj MCcKLVteIDpdKzpbMC05XSs6IEVycm9yOiBzeW50YXggZXJyb3IgLS0gYGN4 MmRhbmUgcDAscjAscjEscjAsIzAnCitbXiA6XSs6WzAtOV0rOiBFcnJvcjog aW5jb3JyZWN0IGNvbmRpdGlvbiBpbiBJVCBibG9jayAtLSBgY3gyZGFlcSBw MCxyMCxyMSxyMCwjMCcKIFteIDpdKzpbMC05XSs6IEVycm9yOiBjb3Byb2Nl c3NvciBmb3IgaW5zbiBpcyBub3QgZW5hYmxlZCBmb3IgY2RlIC0tIGBjeDJk IHAxLHIwLHIxLHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGNvcHJv Y2Vzc29yIGZvciBpbnNuIGlzIG5vdCBlbmFibGVkIGZvciBjZGUgLS0gYGN4 MmRhIHAxLHIwLHIxLHIwLCMwJwogW14gOl0rOlswLTldKzogRXJyb3I6IGN4 MmQgcmVxdWlyZXMgY29uc2VjdXRpdmUgZGVzdGluYXRpb24gcmVnaXN0ZXJz XC4gLS0gYGN4MmQgcDAscjAscjIscjAsIzAnCkBAIC0xMjIsOCArMTI2LDkg QEAKIFteIDpdKzpbMC05XSs6IEVycm9yOiBSZWdpc3RlciBtdXN0IGJlIHIw LXIxNCBleGNlcHQgcjEzLCBvciBBUFNSX256Y3ZcLiAtLSBgY3gzIHAwLHIw LHIwLHIxMywjMCcKIFteIDpdKzpbMC05XSs6IEVycm9yOiBSZWdpc3RlciBt dXN0IGJlIHIwLXIxNCBleGNlcHQgcjEzLCBvciBBUFNSX256Y3ZcLiAtLSBg Y3gzYSBwMCxyMCxyMCxyMTMsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjog aW5zdHJ1Y3Rpb24gbm90IGFsbG93ZWQgaW4gSVQgYmxvY2sgLS0gYGN4MyBw MCxyMCxyMCxyMCwjMCcKK1teIDpdKzpbMC05XSs6IEVycm9yOiBpbnN0cnVj dGlvbiBub3QgYWxsb3dlZCBpbiBJVCBibG9jayAtLSBgY3gzYSBwMCxyMCxy MCxyMCwjMCcKIFteIDpdKzpbMC05XSs6IEVycm9yOiBzeW50YXggZXJyb3Ig LS0gYGN4M25lIHAwLHIwLHIwLHIwLCMwJwotW14gOl0rOlswLTldKzogRXJy b3I6IHN5bnRheCBlcnJvciAtLSBgY3gzYW5lIHAwLHIwLHIwLHIwLCMwJwor W14gOl0rOlswLTldKzogRXJyb3I6IGluY29ycmVjdCBjb25kaXRpb24gaW4g SVQgYmxvY2sgLS0gYGN4M2FlcSBwMCxyMCxyMCxyMCwjMCcKIFteIDpdKzpb MC05XSs6IEVycm9yOiBjb3Byb2Nlc3NvciBmb3IgaW5zbiBpcyBub3QgZW5h YmxlZCBmb3IgY2RlIC0tIGBjeDMgcDEscjAscjAscjAsIzAnCiBbXiA6XSs6 WzAtOV0rOiBFcnJvcjogY29wcm9jZXNzb3IgZm9yIGluc24gaXMgbm90IGVu YWJsZWQgZm9yIGNkZSAtLSBgY3gzYSBwMSxyMCxyMCxyMCwjMCcKIFteIDpd KzpbMC05XSs6IEVycm9yOiBjb25zdGFudCBleHByZXNzaW9uIHJlcXVpcmVk IC0tIGBjeDMgcDAscjAscjAscjAscjAsIzAnCkBAIC0xNjMsOCArMTY4LDkg QEAKIFteIDpdKzpbMC05XSs6IEVycm9yOiBSZWdpc3RlciBtdXN0IGJlIHIw LXIxNCBleGNlcHQgcjEzLCBvciBBUFNSX256Y3ZcLiAtLSBgY3gzZCBwMCxy MCxyMSxyMCxyMTUsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogUmVnaXN0 ZXIgbXVzdCBiZSByMC1yMTQgZXhjZXB0IHIxMywgb3IgQVBTUl9uemN2XC4g LS0gYGN4M2RhIHAwLHIwLHIxLHIwLHIxNSwjMCcKIFteIDpdKzpbMC05XSs6 IEVycm9yOiBpbnN0cnVjdGlvbiBub3QgYWxsb3dlZCBpbiBJVCBibG9jayAt LSBgY3gzZCBwMCxyMCxyMSxyMCxyMCwjMCcKK1teIDpdKzpbMC05XSs6IEVy cm9yOiBpbnN0cnVjdGlvbiBub3QgYWxsb3dlZCBpbiBJVCBibG9jayAtLSBg Y3gzZGEgcDAscjAscjEscjAscjAsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJv cjogc3ludGF4IGVycm9yIC0tIGBjeDNkbmUgcDAscjAscjEscjAscjAsIzAn Ci1bXiA6XSs6WzAtOV0rOiBFcnJvcjogc3ludGF4IGVycm9yIC0tIGBjeDNk YW5lIHAwLHIwLHIxLHIwLHIwLCMwJworW14gOl0rOlswLTldKzogRXJyb3I6 IGluY29ycmVjdCBjb25kaXRpb24gaW4gSVQgYmxvY2sgLS0gYGN4M2RhZXEg cDAscjAscjEscjAscjAsIzAnCiBbXiA6XSs6WzAtOV0rOiBFcnJvcjogY29w cm9jZXNzb3IgZm9yIGluc24gaXMgbm90IGVuYWJsZWQgZm9yIGNkZSAtLSBg Y3gzZCBwMSxyMCxyMSxyMCxyMCwjMCcKIFteIDpdKzpbMC05XSs6IEVycm9y OiBjb3Byb2Nlc3NvciBmb3IgaW5zbiBpcyBub3QgZW5hYmxlZCBmb3IgY2Rl IC0tIGBjeDNkYSBwMSxyMCxyMSxyMCxyMCwjMCcKIFteIDpdKzpbMC05XSs6 IEVycm9yOiBjeDNkIHJlcXVpcmVzIGNvbnNlY3V0aXZlIGRlc3RpbmF0aW9u IHJlZ2lzdGVyc1wuIC0tIGBjeDNkIHAwLHIwLHIyLHIwLHIwLCMwJwpkaWZm IC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJtL2NkZS13YXJuaW5ncy5z IGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJtL2NkZS13YXJuaW5ncy5zCmluZGV4 IDM0YjkyM2Y0ZTBjNWY0MGFlYzEyMTMyNDI4ZGI2MGZiYWRmMGM2OTEuLmQx ZDk4NDA1NTNhMGU5NGZhMTE0Yjk0ZDg1MTlhMGFlNzY3NThlM2UgMTAwNjQ0 Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2FzL2FybS9jZGUtd2FybmluZ3Mucwor KysgYi9nYXMvdGVzdHN1aXRlL2dhcy9hcm0vY2RlLXdhcm5pbmdzLnMKQEAg LTIzLDEwICsyMywxMSBAQCBjeDFhIHAwLCByMTYsICMwCiBjeDEgcDAsIHIx MywgIzAKIGN4MWEgcDAsIHIxMywgIzAKIAotaXR0dCBuZQoraXR0dHQgbmUK IGN4MSBwMCwgcjAsICMwCiBjeDFuZSBwMCwgcjAsICMwCi1jeDFhbmUgcDAs IHIwLCAjMAorY3gxYSBwMCwgcjAsICMwCitjeDFhZXEgcDAsIHIwLCAjMAog CiBjeDEgcDEsIHIwLCAjMAogY3gxYSBwMSwgcjAsICMwCkBAIC03MywxMCAr NzQsMTEgQEAgY3gxZGEgcDAsIHI5LCByMTAsICMwCiBjeDFkIHAwLCByMTMs IHIxNCwgIzAKIGN4MWRhIHAwLCByMTMsIHIxNCwgIzAKIAotaXR0dCBuZQor aXR0dHQgbmUKIGN4MWQgcDAsIHIwLCByMSwgIzAKK2N4MWRhIHAwLCByMCwg cjEsICMwCiBjeDFkbmUgcDAsIHIwLCByMSwgIzAKLWN4MWRhbmUgcDAsIHIw LCByMSwgIzAKK2N4MWRhZXEgcDAsIHIwLCByMSwgIzAKIAogY3gxZCBwMSwg cjAsIHIxLCAjMAogY3gxZGEgcDEsIHIwLCByMSwgIzAKQEAgLTEyMiwxMCAr MTI0LDExIEBAIGN4MmEgcDAsIHIxMywgcjAsICMwCiBjeDIgcDAsIHIwLCBy MTMsICMwCiBjeDJhIHAwLCByMCwgcjEzLCAjMAogCi1pdHR0IG5lCitpdHR0 dCBuZQogY3gyIHAwLCByMCwgcjAsICMwCitjeDJhIHAwLCByMCwgcjAsICMw CiBjeDJuZSBwMCwgcjAsIHIwLCAjMAotY3gyYW5lIHAwLCByMCwgcjAsICMw CitjeDJhZXEgcDAsIHIwLCByMCwgIzAKIAogY3gyIHAxLCByMCwgcjAsICMw CiBjeDJhIHAxLCByMCwgcjAsICMwCkBAIC0xODQsMTAgKzE4NywxMSBAQCBj eDJkYSBwMCwgcjAsIHIxLCByMTMsICMwCiBjeDJkIHAwLCByMCwgcjEsIHIx NSwgIzAKIGN4MmRhIHAwLCByMCwgcjEsIHIxNSwgIzAKIAotaXR0dCBuZQor aXR0dHQgbmUKIGN4MmQgcDAsIHIwLCByMSwgcjAsICMwCitjeDJkYSBwMCwg cjAsIHIxLCByMCwgIzAKIGN4MmRuZSBwMCwgcjAsIHIxLCByMCwgIzAKLWN4 MmRhbmUgcDAsIHIwLCByMSwgcjAsICMwCitjeDJkYWVxIHAwLCByMCwgcjEs IHIwLCAjMAogCiBjeDJkIHAxLCByMCwgcjEsIHIwLCAjMAogY3gyZGEgcDEs IHIwLCByMSwgcjAsICMwCkBAIC0yNDAsMTAgKzI0NCwxMSBAQCBjeDNhIHAw LCByMCwgcjEzLCByMCwgIzAKIGN4MyBwMCwgcjAsIHIwLCByMTMsICMwCiBj eDNhIHAwLCByMCwgcjAsIHIxMywgIzAKIAotaXR0dCBuZQoraXR0dHQgbmUK IGN4MyBwMCwgcjAsIHIwLCByMCwgIzAKK2N4M2EgcDAsIHIwLCByMCwgcjAs ICMwCiBjeDNuZSBwMCwgcjAsIHIwLCByMCwgIzAKLWN4M2FuZSBwMCwgcjAs IHIwLCByMCwgIzAKK2N4M2FlcSBwMCwgcjAsIHIwLCByMCwgIzAKIAogY3gz IHAxLCByMCwgcjAsIHIwLCAjMAogY3gzYSBwMSwgcjAsIHIwLCByMCwgIzAK QEAgLTMxNywxMCArMzIyLDExIEBAIGN4M2RhIHAwLCByMCwgcjEsIHIxNSwg cjAsICMwCiBjeDNkIHAwLCByMCwgcjEsIHIwLCByMTUsICMwCiBjeDNkYSBw MCwgcjAsIHIxLCByMCwgcjE1LCAjMAogCi1pdHR0IG5lCitpdHR0dCBuZQog Y3gzZCBwMCwgcjAsIHIxLCByMCwgcjAsICMwCitjeDNkYSBwMCwgcjAsIHIx LCByMCwgcjAsICMwCiBjeDNkbmUgcDAsIHIwLCByMSwgcjAsIHIwLCAjMAot Y3gzZGFuZSBwMCwgcjAsIHIxLCByMCwgcjAsICMwCitjeDNkYWVxIHAwLCBy MCwgcjEsIHIwLCByMCwgIzAKIAogY3gzZCBwMSwgcjAsIHIxLCByMCwgcjAs ICMwCiBjeDNkYSBwMSwgcjAsIHIxLCByMCwgcjAsICMwCgo= --===============7702135440857270485==--