From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133]) by sourceware.org (Postfix) with ESMTPS id 19026393C84E for ; Thu, 10 Sep 2020 09:36:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 19026393C84E X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R131e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e01424; MF=cooper.qu@linux.alibaba.com; NM=1; PH=DS; RN=3; SR=0; TI=SMTPD_---0U8UgxlS_1599730613; Received: from localhost(mailfrom:cooper.qu@linux.alibaba.com fp:SMTPD_---0U8UgxlS_1599730613) by smtp.aliyun-inc.com(127.0.0.1); Thu, 10 Sep 2020 17:36:53 +0800 From: Cooper Qu To: binutils@sourceware.org, lifang_xia@c-sky.com Cc: Cooper Qu Subject: [PATCH 2/3] CSKY: Add L2Cache instructions for CK860. Date: Thu, 10 Sep 2020 17:36:51 +0800 Message-Id: <20200910093651.23240-1-cooper.qu@linux.alibaba.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200910093624.23184-1-cooper.qu@linux.alibaba.com> References: <20200910093624.23184-1-cooper.qu@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UNPARSEABLE_RELAY, UNWANTED_LANGUAGE_BODY, USER_IN_DEF_SPF_WL 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2020 09:36:58 -0000 opcodes/ * csky-opc.h (csky_v2_opcodes): Add L2Cache instructions. * testsuite/gas/csky/cskyv2_ck860.d : Adjust to icache.iva opcode fixing. --- gas/testsuite/gas/csky/cskyv2_ck860.d | 2 +- opcodes/ChangeLog | 6 + opcodes/csky-opc.h | 227 +++++++++++++------------- 3 files changed, 125 insertions(+), 110 deletions(-) diff --git a/gas/testsuite/gas/csky/cskyv2_ck860.d b/gas/testsuite/gas/csky/cskyv2_ck860.d index 639bdbf8cd9..a23003923b6 100644 --- a/gas/testsuite/gas/csky/cskyv2_ck860.d +++ b/gas/testsuite/gas/csky/cskyv2_ck860.d @@ -26,7 +26,7 @@ Disassembly of section \.text: \s*[0-9a-f]*:\s*c1009420\s*dcache.iall \s*[0-9a-f]*:\s*c1009020\s*icache.iall \s*[0-9a-f]*:\s*c3009020\s*icache.ialls -\s*[0-9a-f]*:\s*c0bf9020\s*icache.iva\s*r31 +\s*[0-9a-f]*:\s*c17f9020\s*icache.iva\s*r31 \s*[0-9a-f]*:\s*c000842f\s*bar.brwarw \s*[0-9a-f]*:\s*c200842f\s*bar.brwarws \s*[0-9a-f]*:\s*c0008425\s*bar.brar diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index d026e1059aa..865bf148fe7 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2020-09-10 Cooper Qu + + * csky-opc.h (csky_v2_opcodes): Add L2Cache instructions. + * testsuite/gas/csky/cskyv2_ck860.d : Adjust to icache.iva + opcode fixing. + 2020-09-10 Nick Clifton * csky-dis.c (csky_output_operand): Coerce the immediate values to diff --git a/opcodes/csky-opc.h b/opcodes/csky-opc.h index 5a6068c329c..a1c67e971b8 100644 --- a/opcodes/csky-opc.h +++ b/opcodes/csky-opc.h @@ -4716,115 +4716,124 @@ const struct csky_opcode csky_v2_opcodes[] = #define _RELAX 0 /* CK860 instructions. */ - OP32("sync.is", - OPCODE_INFO0(0xc2200420), - CSKYV2_ISA_10E60), - OP32("sync.i", - OPCODE_INFO0(0xc0200420), - CSKYV2_ISA_10E60), - OP32("sync.s", - OPCODE_INFO0(0xc2000420), - CSKYV2_ISA_10E60), - OP32("bar.brwarw", - OPCODE_INFO0(0xc000842f), - CSKYV2_ISA_10E60), - OP32("bar.brwarws", - OPCODE_INFO0(0xc200842f), - CSKYV2_ISA_10E60), - OP32("bar.brar", - OPCODE_INFO0(0xc0008425), - CSKYV2_ISA_10E60), - OP32("bar.brars", - OPCODE_INFO0(0xc2008425), - CSKYV2_ISA_10E60), - OP32("bar.bwaw", - OPCODE_INFO0(0xc000842a), - CSKYV2_ISA_10E60), - OP32("bar.bwaws", - OPCODE_INFO0(0xc200842a), - CSKYV2_ISA_10E60), - OP32("icache.iall", - OPCODE_INFO0(0xc1009020), - CSKYV2_ISA_10E60), - OP32("icache.ialls", - OPCODE_INFO0(0xc3009020), - CSKYV2_ISA_10E60), - OP32("icache.iva", - OPCODE_INFO1(0xc0a09020, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.iall", - OPCODE_INFO0(0xc1009420), - CSKYV2_ISA_10E60), - OP32("dcache.iva", - OPCODE_INFO1(0xc1609420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.isw", - OPCODE_INFO1(0xc1409420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.call", - OPCODE_INFO0(0xc0809420), - CSKYV2_ISA_10E60), - OP32("dcache.cva", - OPCODE_INFO1(0xc0e09420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.cval1", - OPCODE_INFO1(0xc2e09420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.csw", - OPCODE_INFO1(0xc0c09420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.ciall", - OPCODE_INFO0(0xc1809420), - CSKYV2_ISA_10E60), - OP32("dcache.civa", - OPCODE_INFO1(0xc1e09420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("dcache.cisw", - OPCODE_INFO1(0xc1c09420, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.vaa", - OPCODE_INFO1(0xc0408820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.vaas", - OPCODE_INFO1(0xc2408820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.asid", - OPCODE_INFO1(0xc0208820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.asids", - OPCODE_INFO1(0xc2208820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.va", - OPCODE_INFO1(0xc0608820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.vas", - OPCODE_INFO1(0xc2608820, - (16_20, AREG, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_10E60), - OP32("tlbi.all", - OPCODE_INFO0(0xc0008820), - CSKYV2_ISA_10E60), - OP32("tlbi.alls", - OPCODE_INFO0(0xc2008820), - CSKYV2_ISA_10E60), - DOP32("sync", - OPCODE_INFO0(0xc0000420), - OPCODE_INFO1(0xc0000420, - (21_25, IMM5b, OPRND_SHIFT_0_BIT)), - CSKYV2_ISA_E1), + OP32 ("sync.is", + OPCODE_INFO0 (0xc2200420), + CSKYV2_ISA_10E60), + OP32 ("sync.i", + OPCODE_INFO0 (0xc0200420), + CSKYV2_ISA_10E60), + OP32 ("sync.s", + OPCODE_INFO0 (0xc2000420), + CSKYV2_ISA_10E60), + OP32 ("bar.brwarw", + OPCODE_INFO0 (0xc000842f), + CSKYV2_ISA_10E60), + OP32 ("bar.brwarws", + OPCODE_INFO0 (0xc200842f), + CSKYV2_ISA_10E60), + OP32 ("bar.brar", + OPCODE_INFO0 (0xc0008425), + CSKYV2_ISA_10E60), + OP32 ("bar.brars", + OPCODE_INFO0 (0xc2008425), + CSKYV2_ISA_10E60), + OP32 ("bar.bwaw", + OPCODE_INFO0 (0xc000842a), + CSKYV2_ISA_10E60), + OP32 ("bar.bwaws", + OPCODE_INFO0 (0xc200842a), + CSKYV2_ISA_10E60), + OP32 ("icache.iall", + OPCODE_INFO0 (0xc1009020), + CSKYV2_ISA_10E60), + OP32 ("icache.ialls", + OPCODE_INFO0 (0xc3009020), + CSKYV2_ISA_10E60), + OP32 ("l2cache.iall", + OPCODE_INFO0 (0xc1009820), + CSKYV2_ISA_10E60), + OP32 ("l2cache.call", + OPCODE_INFO0 (0xc0809820), + CSKYV2_ISA_10E60), + OP32 ("l2cache.ciall", + OPCODE_INFO0 (0xc1809820), + CSKYV2_ISA_10E60), + OP32 ("icache.iva", + OPCODE_INFO1 (0xc1609020, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.iall", + OPCODE_INFO0 (0xc1009420), + CSKYV2_ISA_10E60), + OP32 ("dcache.iva", + OPCODE_INFO1 (0xc1609420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.isw", + OPCODE_INFO1 (0xc1409420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.call", + OPCODE_INFO0 (0xc0809420), + CSKYV2_ISA_10E60), + OP32 ("dcache.cva", + OPCODE_INFO1 (0xc0e09420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.cval1", + OPCODE_INFO1 (0xc2e09420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.csw", + OPCODE_INFO1 (0xc0c09420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.ciall", + OPCODE_INFO0 (0xc1809420), + CSKYV2_ISA_10E60), + OP32 ("dcache.civa", + OPCODE_INFO1 (0xc1e09420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("dcache.cisw", + OPCODE_INFO1 (0xc1c09420, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.vaa", + OPCODE_INFO1 (0xc0408820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.vaas", + OPCODE_INFO1 (0xc2408820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.asid", + OPCODE_INFO1 (0xc0208820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.asids", + OPCODE_INFO1 (0xc2208820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.va", + OPCODE_INFO1 (0xc0608820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.vas", + OPCODE_INFO1 (0xc2608820, + (16_20, AREG, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_10E60), + OP32 ("tlbi.all", + OPCODE_INFO0 (0xc0008820), + CSKYV2_ISA_10E60), + OP32 ("tlbi.alls", + OPCODE_INFO0 (0xc2008820), + CSKYV2_ISA_10E60), + DOP32 ("sync", + OPCODE_INFO0 (0xc0000420), + OPCODE_INFO1 (0xc0000420, + (21_25, IMM5b, OPRND_SHIFT_0_BIT)), + CSKYV2_ISA_E1), /* The followings are enhance DSP instructions. */ DOP32_WITH_WORK ("bloop", -- 2.26.2