From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cstnet.cn (smtp21.cstnet.cn [159.226.251.21]) by sourceware.org (Postfix) with ESMTPS id 73C2C390DECA for ; Wed, 5 Jun 2024 03:59:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 73C2C390DECA Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 73C2C390DECA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=159.226.251.21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1717559987; cv=none; b=B/xrqCcFDQs4ZVpTEgxPZE/c68rbu25EeIL76JVEO9SYEIPoEXnMNjJtg52nhFjd2GEp74vckvktCPxLdALV3F9DshJOv52EOLuvy20LCBIOo5oVsaIn1mlYZh9p2T6i1WB0LTdzRiKVgxJucBEKKcZlVKyA3XAJyxiS3hqUAUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1717559987; c=relaxed/simple; bh=RJMVKHtJDyXuc5IK/nsMCjoVacZAbjQfdWCL2wnWMdI=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=a6f8yJnvI7nNoS74aSJFfmUGLI/Al7q6/DgeduksFrjmDaUVBD+kzZwC1/c6DU607+/HARUOY5wjjGiB7zhTdZqpvyBIM3u9CoAoUm+jCV5Ce8FfarG5OHalsDiruEnf6q4d1/rvSSa0rihiDgIqXeM3furTUZWSguURGIe/5Mg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from localhost.localdomain (unknown [39.108.115.90]) by APP-01 (Coremail) with SMTP id qwCowADXb5uk4l9mhTlzCQ--.24729S2; Wed, 05 Jun 2024 11:59:34 +0800 (CST) From: Jiawei To: binutils@sourceware.org Cc: nelson@rivosinc.com, kito.cheng@gmail.com, palmer@dabbelt.com, jeffreyalaw@gmail.com, jbeulich@suse.com, Jiawei Subject: [PATCH] RISC-V: Support Smcsrind/Sscsrind extensions csrs. Date: Wed, 5 Jun 2024 11:59:16 +0800 Message-Id: <20240605035916.820580-1-jiawei@iscas.ac.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:qwCowADXb5uk4l9mhTlzCQ--.24729S2 X-Coremail-Antispam: 1UD129KBjvAXoWDWF13WrykGF1kGryxAF4UXFb_yoW7GFy3Zo WxWw4rAFyrX3ZrAa43Cr18Z3Z093W2qryfJFZ5uw4DXayUKw4Fg398KFs5C3W5Kr10gr4D u3ykAF18XFWvvrZ8n29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUU5_7AC8VAFwI0_Gr0_Xr1l1xkIjI8I6I8E6xAIw20EY4v20xva j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2 x7M28EF7xvwVC0I7IYx2IY67AKxVWUCVW8JwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjcxK6I8E87Iv6xkF7I0E14v26F 4UJVW0owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv 7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r 1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCF04k20xvY0x0E wIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74 80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcVC0 I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04 k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUdHUDUUUUU= X-Originating-IP: [39.108.115.90] X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiBwkTAGZfupuThgAAsQ X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This patch supports RISC-V Smcsrind/Sscsrind privilege extension csrs. Reuse csr 'smselect/siselect', 'mireg/sireg' and 'vsiselect,vsireg' csrs in Smaia/Ssaia extension. bfd/ChangeLog: * elfxx-riscv.c: New extensions. gas/ChangeLog: * NEWS: Updated. * config/tc-riscv.c (enum riscv_csr_class): New extensions. (riscv_csr_address): Ditto. * testsuite/gas/riscv/csr-version-1p10.d: New csrs. * testsuite/gas/riscv/csr-version-1p10.l: Ditto. * testsuite/gas/riscv/csr-version-1p11.d: Ditto. * testsuite/gas/riscv/csr-version-1p11.l: Ditto. * testsuite/gas/riscv/csr-version-1p12.d: Ditto. * testsuite/gas/riscv/csr-version-1p12.l: Ditto. * testsuite/gas/riscv/csr.s: Ditto. * testsuite/gas/riscv/march-help.l: New extensions. include/ChangeLog: * opcode/riscv-opc.h (CSR_MIREG2): New csr. (CSR_MIREG3): Ditto. (CSR_MIREG4): Ditto. (CSR_MIREG5): Ditto. (CSR_MIREG6): Ditto. (CSR_SIREG2): Ditto. (CSR_SIREG3): Ditto. (CSR_SIREG4): Ditto. (CSR_SIREG5): Ditto. (CSR_SIREG6): Ditto. (CSR_VSIREG2): Ditto. (CSR_VSIREG3): Ditto. (CSR_VSIREG4): Ditto. (CSR_VSIREG5): Ditto. (CSR_VSIREG6): Ditto. (DECLARE_CSR): Ditto. --- bfd/elfxx-riscv.c | 4 + gas/NEWS | 2 + gas/config/tc-riscv.c | 44 +++++++ gas/testsuite/gas/riscv/csr-version-1p10.d | 42 +++++++ gas/testsuite/gas/riscv/csr-version-1p10.l | 136 +++++++++++++++++++-- gas/testsuite/gas/riscv/csr-version-1p11.d | 42 +++++++ gas/testsuite/gas/riscv/csr-version-1p11.l | 136 +++++++++++++++++++-- gas/testsuite/gas/riscv/csr-version-1p12.d | 42 +++++++ gas/testsuite/gas/riscv/csr-version-1p12.l | 136 +++++++++++++++++++-- gas/testsuite/gas/riscv/csr.s | 25 ++++ gas/testsuite/gas/riscv/march-help.l | 2 + include/opcode/riscv-opc.h | 46 ++++++- 12 files changed, 615 insertions(+), 42 deletions(-) diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index dfacb87eda0..618378c6948 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1269,10 +1269,12 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zcb", "zca", check_implicit_always}, {"zcmp", "zca", check_implicit_always}, {"smaia", "ssaia", check_implicit_always}, + {"smscrind", "sscsrind", check_implicit_always}, {"smcntrpmf", "zicsr", check_implicit_always}, {"smstateen", "ssstateen", check_implicit_always}, {"smepmp", "zicsr", check_implicit_always}, {"ssaia", "zicsr", check_implicit_always}, + {"sscsrind", "zicsr", check_implicit_always}, {"sscofpmf", "zicsr", check_implicit_always}, {"ssstateen", "zicsr", check_implicit_always}, {"sstc", "zicsr", check_implicit_always}, @@ -1431,10 +1433,12 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] = static struct riscv_supported_ext riscv_supported_std_s_ext[] = { {"smaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"smcsrind", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"smcntrpmf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"smepmp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"ssaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"sscsrind", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"sscofpmf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"ssstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"sstc", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, diff --git a/gas/NEWS b/gas/NEWS index e51c3bbba6d..397ebffd2bb 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,5 +1,7 @@ -*- text -*- +* Add support for RISC-V Smcsrind/Sscsrind extension with version 1.0. + * In x86 Intel syntax undue mnemonic suffixes are now warned about. This is a first step towards rejecting their use where unjustified. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 8d749581c1d..7785c269aaf 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -77,6 +77,10 @@ enum riscv_csr_class CSR_CLASS_H_32, /* hypervisor, rv32 only */ CSR_CLASS_SMAIA, /* Smaia */ CSR_CLASS_SMAIA_32, /* Smaia, rv32 only */ + CSR_CLASS_SMAIA_OR_SMCSRIND, /* Smaia/Smcsrind */ + CSR_CLASS_SMAIA_OR_SMCSRIND_32, /* Smaia/Smcsrind, rv32 only */ + CSR_CLASS_SMCSRIND, /* Smcsrind */ + CSR_CLASS_SMCSRIND_32, /* Smcsrind, rv32 only */ CSR_CLASS_SMCNTRPMF, /* Smcntrpmf */ CSR_CLASS_SMCNTRPMF_32, /* Smcntrpmf, rv32 only */ CSR_CLASS_SMSTATEEN, /* Smstateen only */ @@ -85,6 +89,14 @@ enum riscv_csr_class CSR_CLASS_SSAIA_AND_H, /* Ssaia with H */ CSR_CLASS_SSAIA_32, /* Ssaia, rv32 only */ CSR_CLASS_SSAIA_AND_H_32, /* Ssaia with H, rv32 only */ + CSR_CLASS_SSAIA_OR_SSCSRIND, /* Ssaia/Smcsrind */ + CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H, /* Ssaia/Smcsrind with H */ + CSR_CLASS_SSAIA_OR_SSCSRIND_32, /* Ssaia/Smcsrind, rv32 only */ + CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H_32, /* Ssaia/Smcsrind with H, rv32 only */ + CSR_CLASS_SSCSRIND, /* Sscsrind */ + CSR_CLASS_SSCSRIND_AND_H, /* Sscsrind with H */ + CSR_CLASS_SSCSRIND_32, /* Sscsrind, rv32 only */ + CSR_CLASS_SSCSRIND_AND_H_32, /* Sscsrind with H, rv32 only */ CSR_CLASS_SSSTATEEN, /* S[ms]stateen only */ CSR_CLASS_SSSTATEEN_AND_H, /* S[ms]stateen only (with H) */ CSR_CLASS_SSSTATEEN_AND_H_32, /* S[ms]stateen RV32 only (with H) */ @@ -1058,6 +1070,18 @@ riscv_csr_address (const char *csr_name, /* Fall through. */ case CSR_CLASS_SMAIA: extension = "smaia"; + break; + case CSR_CLASS_SMAIA_OR_SMCSRIND_32: + is_rv32_only = true; + /* Fall through. */ + case CSR_CLASS_SMAIA_OR_SMCSRIND: + extension = "smaia or smcsrind"; + break; + case CSR_CLASS_SMCSRIND_32: + is_rv32_only = true; + /* Fall through. */ + case CSR_CLASS_SMCSRIND: + extension = "smcsrind"; break; case CSR_CLASS_SMCNTRPMF_32: is_rv32_only = true; @@ -1081,6 +1105,26 @@ riscv_csr_address (const char *csr_name, is_h_required = (csr_class == CSR_CLASS_SSAIA_AND_H || csr_class == CSR_CLASS_SSAIA_AND_H_32); extension = "ssaia"; + break; + case CSR_CLASS_SSAIA_OR_SSCSRIND: + case CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H: + case CSR_CLASS_SSAIA_OR_SSCSRIND_32: + case CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H_32: + is_rv32_only = (csr_class == CSR_CLASS_SSAIA_OR_SSCSRIND_32 + || csr_class == CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H_32); + is_h_required = (csr_class == CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H + || csr_class == CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H_32); + extension = "ssaia or sscsrind"; + break; + case CSR_CLASS_SSCSRIND: + case CSR_CLASS_SSCSRIND_AND_H: + case CSR_CLASS_SSCSRIND_32: + case CSR_CLASS_SSCSRIND_AND_H_32: + is_rv32_only = (csr_class == CSR_CLASS_SSCSRIND_32 + || csr_class == CSR_CLASS_SSCSRIND_AND_H_32); + is_h_required = (csr_class == CSR_CLASS_SSCSRIND_AND_H + || csr_class == CSR_CLASS_SSCSRIND_AND_H_32); + extension = "sscsrind"; break; case CSR_CLASS_SSSTATEEN_AND_H_32: is_rv32_only = true; diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d index 2ee4ee55ecd..5165f4bea0d 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p10.d +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d @@ -623,6 +623,20 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 [ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph [ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 +[ ]+[0-9a-f]+:[ ]+35202573[ ]+csrr[ ]+a0,mireg2 +[ ]+[0-9a-f]+:[ ]+35259073[ ]+csrw[ ]+mireg2,a1 +[ ]+[0-9a-f]+:[ ]+35302573[ ]+csrr[ ]+a0,mireg3 +[ ]+[0-9a-f]+:[ ]+35359073[ ]+csrw[ ]+mireg3,a1 +[ ]+[0-9a-f]+:[ ]+35502573[ ]+csrr[ ]+a0,mireg4 +[ ]+[0-9a-f]+:[ ]+35559073[ ]+csrw[ ]+mireg4,a1 +[ ]+[0-9a-f]+:[ ]+35602573[ ]+csrr[ ]+a0,mireg5 +[ ]+[0-9a-f]+:[ ]+35659073[ ]+csrw[ ]+mireg5,a1 +[ ]+[0-9a-f]+:[ ]+35702573[ ]+csrr[ ]+a0,mireg6 +[ ]+[0-9a-f]+:[ ]+35759073[ ]+csrw[ ]+mireg6,a1 [ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mcyclecfg [ ]+[0-9a-f]+:[ ]+32159073[ ]+csrw[ ]+mcyclecfg,a1 [ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,minstretcfg @@ -713,6 +727,34 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 [ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph [ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 +[ ]+[0-9a-f]+:[ ]+15202573[ ]+csrr[ ]+a0,sireg2 +[ ]+[0-9a-f]+:[ ]+15259073[ ]+csrw[ ]+sireg2,a1 +[ ]+[0-9a-f]+:[ ]+15302573[ ]+csrr[ ]+a0,sireg3 +[ ]+[0-9a-f]+:[ ]+15359073[ ]+csrw[ ]+sireg3,a1 +[ ]+[0-9a-f]+:[ ]+15502573[ ]+csrr[ ]+a0,sireg4 +[ ]+[0-9a-f]+:[ ]+15559073[ ]+csrw[ ]+sireg4,a1 +[ ]+[0-9a-f]+:[ ]+15602573[ ]+csrr[ ]+a0,sireg5 +[ ]+[0-9a-f]+:[ ]+15659073[ ]+csrw[ ]+sireg5,a1 +[ ]+[0-9a-f]+:[ ]+15702573[ ]+csrr[ ]+a0,sireg6 +[ ]+[0-9a-f]+:[ ]+15759073[ ]+csrw[ ]+sireg6,a1 +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 +[ ]+[0-9a-f]+:[ ]+25202573[ ]+csrr[ ]+a0,vsireg2 +[ ]+[0-9a-f]+:[ ]+25259073[ ]+csrw[ ]+vsireg2,a1 +[ ]+[0-9a-f]+:[ ]+25302573[ ]+csrr[ ]+a0,vsireg3 +[ ]+[0-9a-f]+:[ ]+25359073[ ]+csrw[ ]+vsireg3,a1 +[ ]+[0-9a-f]+:[ ]+25502573[ ]+csrr[ ]+a0,vsireg4 +[ ]+[0-9a-f]+:[ ]+25559073[ ]+csrw[ ]+vsireg4,a1 +[ ]+[0-9a-f]+:[ ]+25602573[ ]+csrr[ ]+a0,vsireg5 +[ ]+[0-9a-f]+:[ ]+25659073[ ]+csrw[ ]+vsireg5,a1 +[ ]+[0-9a-f]+:[ ]+25702573[ ]+csrr[ ]+a0,vsireg6 +[ ]+[0-9a-f]+:[ ]+25759073[ ]+csrw[ ]+vsireg6,a1 [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/gas/riscv/csr-version-1p10.l index 63991d5023c..17a8bb638e8 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p10.l +++ b/gas/testsuite/gas/riscv/csr-version-1p10.l @@ -823,13 +823,13 @@ .*Info: macro .* .*Warning: invalid CSR `vsatp', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* .*Warning: invalid CSR `mtopei', needs `smaia' extension .*Info: macro .* @@ -889,6 +889,34 @@ .*Info: macro .* .*Warning: invalid CSR `miph', needs `smaia' extension .*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension .*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension @@ -1057,13 +1085,13 @@ .*Info: macro .* .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `stopei', needs `ssaia' extension .*Info: macro .* @@ -1125,19 +1153,19 @@ .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vstopei', needs `h' extension .*Info: macro .* @@ -1241,6 +1269,90 @@ .*Info: macro .* .*Warning: invalid CSR `vsiph', needs `ssaia' extension .*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension .*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d index 836dedef86a..1cb5a917f1a 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p11.d +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d @@ -623,6 +623,20 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 [ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph [ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 +[ ]+[0-9a-f]+:[ ]+35202573[ ]+csrr[ ]+a0,mireg2 +[ ]+[0-9a-f]+:[ ]+35259073[ ]+csrw[ ]+mireg2,a1 +[ ]+[0-9a-f]+:[ ]+35302573[ ]+csrr[ ]+a0,mireg3 +[ ]+[0-9a-f]+:[ ]+35359073[ ]+csrw[ ]+mireg3,a1 +[ ]+[0-9a-f]+:[ ]+35502573[ ]+csrr[ ]+a0,mireg4 +[ ]+[0-9a-f]+:[ ]+35559073[ ]+csrw[ ]+mireg4,a1 +[ ]+[0-9a-f]+:[ ]+35602573[ ]+csrr[ ]+a0,mireg5 +[ ]+[0-9a-f]+:[ ]+35659073[ ]+csrw[ ]+mireg5,a1 +[ ]+[0-9a-f]+:[ ]+35702573[ ]+csrr[ ]+a0,mireg6 +[ ]+[0-9a-f]+:[ ]+35759073[ ]+csrw[ ]+mireg6,a1 [ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mcyclecfg [ ]+[0-9a-f]+:[ ]+32159073[ ]+csrw[ ]+mcyclecfg,a1 [ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,minstretcfg @@ -713,6 +727,34 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 [ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph [ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 +[ ]+[0-9a-f]+:[ ]+15202573[ ]+csrr[ ]+a0,sireg2 +[ ]+[0-9a-f]+:[ ]+15259073[ ]+csrw[ ]+sireg2,a1 +[ ]+[0-9a-f]+:[ ]+15302573[ ]+csrr[ ]+a0,sireg3 +[ ]+[0-9a-f]+:[ ]+15359073[ ]+csrw[ ]+sireg3,a1 +[ ]+[0-9a-f]+:[ ]+15502573[ ]+csrr[ ]+a0,sireg4 +[ ]+[0-9a-f]+:[ ]+15559073[ ]+csrw[ ]+sireg4,a1 +[ ]+[0-9a-f]+:[ ]+15602573[ ]+csrr[ ]+a0,sireg5 +[ ]+[0-9a-f]+:[ ]+15659073[ ]+csrw[ ]+sireg5,a1 +[ ]+[0-9a-f]+:[ ]+15702573[ ]+csrr[ ]+a0,sireg6 +[ ]+[0-9a-f]+:[ ]+15759073[ ]+csrw[ ]+sireg6,a1 +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 +[ ]+[0-9a-f]+:[ ]+25202573[ ]+csrr[ ]+a0,vsireg2 +[ ]+[0-9a-f]+:[ ]+25259073[ ]+csrw[ ]+vsireg2,a1 +[ ]+[0-9a-f]+:[ ]+25302573[ ]+csrr[ ]+a0,vsireg3 +[ ]+[0-9a-f]+:[ ]+25359073[ ]+csrw[ ]+vsireg3,a1 +[ ]+[0-9a-f]+:[ ]+25502573[ ]+csrr[ ]+a0,vsireg4 +[ ]+[0-9a-f]+:[ ]+25559073[ ]+csrw[ ]+vsireg4,a1 +[ ]+[0-9a-f]+:[ ]+25602573[ ]+csrr[ ]+a0,vsireg5 +[ ]+[0-9a-f]+:[ ]+25659073[ ]+csrw[ ]+vsireg5,a1 +[ ]+[0-9a-f]+:[ ]+25702573[ ]+csrr[ ]+a0,vsireg6 +[ ]+[0-9a-f]+:[ ]+25759073[ ]+csrw[ ]+vsireg6,a1 [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/gas/riscv/csr-version-1p11.l index 6caec9f63a5..8b797e8893e 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p11.l +++ b/gas/testsuite/gas/riscv/csr-version-1p11.l @@ -819,13 +819,13 @@ .*Info: macro .* .*Warning: invalid CSR `vsatp', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* .*Warning: invalid CSR `mtopei', needs `smaia' extension .*Info: macro .* @@ -885,6 +885,34 @@ .*Info: macro .* .*Warning: invalid CSR `miph', needs `smaia' extension .*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension .*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension @@ -1053,13 +1081,13 @@ .*Info: macro .* .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `stopei', needs `ssaia' extension .*Info: macro .* @@ -1121,19 +1149,19 @@ .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vstopei', needs `h' extension .*Info: macro .* @@ -1237,6 +1265,90 @@ .*Info: macro .* .*Warning: invalid CSR `vsiph', needs `ssaia' extension .*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension .*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d index beeec9a580f..ac88d9370f8 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p12.d +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d @@ -623,6 +623,20 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 [ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph [ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 +[ ]+[0-9a-f]+:[ ]+35202573[ ]+csrr[ ]+a0,mireg2 +[ ]+[0-9a-f]+:[ ]+35259073[ ]+csrw[ ]+mireg2,a1 +[ ]+[0-9a-f]+:[ ]+35302573[ ]+csrr[ ]+a0,mireg3 +[ ]+[0-9a-f]+:[ ]+35359073[ ]+csrw[ ]+mireg3,a1 +[ ]+[0-9a-f]+:[ ]+35502573[ ]+csrr[ ]+a0,mireg4 +[ ]+[0-9a-f]+:[ ]+35559073[ ]+csrw[ ]+mireg4,a1 +[ ]+[0-9a-f]+:[ ]+35602573[ ]+csrr[ ]+a0,mireg5 +[ ]+[0-9a-f]+:[ ]+35659073[ ]+csrw[ ]+mireg5,a1 +[ ]+[0-9a-f]+:[ ]+35702573[ ]+csrr[ ]+a0,mireg6 +[ ]+[0-9a-f]+:[ ]+35759073[ ]+csrw[ ]+mireg6,a1 [ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mcyclecfg [ ]+[0-9a-f]+:[ ]+32159073[ ]+csrw[ ]+mcyclecfg,a1 [ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,minstretcfg @@ -713,6 +727,34 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 [ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph [ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 +[ ]+[0-9a-f]+:[ ]+15202573[ ]+csrr[ ]+a0,sireg2 +[ ]+[0-9a-f]+:[ ]+15259073[ ]+csrw[ ]+sireg2,a1 +[ ]+[0-9a-f]+:[ ]+15302573[ ]+csrr[ ]+a0,sireg3 +[ ]+[0-9a-f]+:[ ]+15359073[ ]+csrw[ ]+sireg3,a1 +[ ]+[0-9a-f]+:[ ]+15502573[ ]+csrr[ ]+a0,sireg4 +[ ]+[0-9a-f]+:[ ]+15559073[ ]+csrw[ ]+sireg4,a1 +[ ]+[0-9a-f]+:[ ]+15602573[ ]+csrr[ ]+a0,sireg5 +[ ]+[0-9a-f]+:[ ]+15659073[ ]+csrw[ ]+sireg5,a1 +[ ]+[0-9a-f]+:[ ]+15702573[ ]+csrr[ ]+a0,sireg6 +[ ]+[0-9a-f]+:[ ]+15759073[ ]+csrw[ ]+sireg6,a1 +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 +[ ]+[0-9a-f]+:[ ]+25202573[ ]+csrr[ ]+a0,vsireg2 +[ ]+[0-9a-f]+:[ ]+25259073[ ]+csrw[ ]+vsireg2,a1 +[ ]+[0-9a-f]+:[ ]+25302573[ ]+csrr[ ]+a0,vsireg3 +[ ]+[0-9a-f]+:[ ]+25359073[ ]+csrw[ ]+vsireg3,a1 +[ ]+[0-9a-f]+:[ ]+25502573[ ]+csrr[ ]+a0,vsireg4 +[ ]+[0-9a-f]+:[ ]+25559073[ ]+csrw[ ]+vsireg4,a1 +[ ]+[0-9a-f]+:[ ]+25602573[ ]+csrr[ ]+a0,vsireg5 +[ ]+[0-9a-f]+:[ ]+25659073[ ]+csrw[ ]+vsireg5,a1 +[ ]+[0-9a-f]+:[ ]+25702573[ ]+csrr[ ]+a0,vsireg6 +[ ]+[0-9a-f]+:[ ]+25759073[ ]+csrw[ ]+vsireg6,a1 [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/gas/riscv/csr-version-1p12.l index b83a0012004..81a7aba25c8 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p12.l +++ b/gas/testsuite/gas/riscv/csr-version-1p12.l @@ -543,13 +543,13 @@ .*Info: macro .* .*Warning: invalid CSR `vsatp', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `miselect', needs `smaia' extension +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* -.*Warning: invalid CSR `mireg', needs `smaia' extension +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension .*Info: macro .* .*Warning: invalid CSR `mtopei', needs `smaia' extension .*Info: macro .* @@ -609,6 +609,34 @@ .*Info: macro .* .*Warning: invalid CSR `miph', needs `smaia' extension .*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg2', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg3', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg4', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg5', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `mireg6', needs `smcsrind' extension +.*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension .*Info: macro .* .*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension @@ -777,13 +805,13 @@ .*Info: macro .* .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `siselect', needs `ssaia' extension +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* -.*Warning: invalid CSR `sireg', needs `ssaia' extension +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `stopei', needs `ssaia' extension .*Info: macro .* @@ -845,19 +873,19 @@ .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsiselect', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsiselect', needs `ssaia' extension +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vsireg', needs `h' extension .*Info: macro .* -.*Warning: invalid CSR `vsireg', needs `ssaia' extension +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension .*Info: macro .* .*Warning: invalid CSR `vstopei', needs `h' extension .*Info: macro .* @@ -961,6 +989,90 @@ .*Info: macro .* .*Warning: invalid CSR `vsiph', needs `ssaia' extension .*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `sireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `h' extension +.*Info: macro .* +.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension +.*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension .*Info: macro .* .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.s index 42bb158547b..378caef35b0 100644 --- a/gas/testsuite/gas/riscv/csr.s +++ b/gas/testsuite/gas/riscv/csr.s @@ -350,6 +350,15 @@ csr mviph csr miph + # Smcsrind + csr miselect + csr mireg + csr mireg2 + csr mireg3 + csr mireg4 + csr mireg5 + csr mireg6 + # Smcntrpmf extension csr mcyclecfg csr minstretcfg @@ -401,6 +410,22 @@ csr vsieh csr vsiph + # Sscsrind + csr siselect + csr sireg + csr sireg2 + csr sireg3 + csr sireg4 + csr sireg5 + csr sireg6 + csr vsiselect + csr vsireg + csr vsireg2 + csr vsireg3 + csr vsireg4 + csr vsireg5 + csr vsireg6 + # Sscofpmf extension csr scountovf csr mhpmevent3h diff --git a/gas/testsuite/gas/riscv/march-help.l b/gas/testsuite/gas/riscv/march-help.l index c5754837e05..7233f85c26b 100644 --- a/gas/testsuite/gas/riscv/march-help.l +++ b/gas/testsuite/gas/riscv/march-help.l @@ -92,10 +92,12 @@ All available -march extensions for RISC-V: zcd 1.0 zcmp 1.0 smaia 1.0 + smcsrind 1.0 smcntrpmf 1.0 smepmp 1.0 smstateen 1.0 ssaia 1.0 + sscsrind 1.0 sscofpmf 1.0 ssstateen 1.0 sstc 1.0 diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h index ae14e14d427..b06e4266dce 100644 --- a/include/opcode/riscv-opc.h +++ b/include/opcode/riscv-opc.h @@ -3399,6 +3399,12 @@ #define CSR_MVIENH 0x318 #define CSR_MVIPH 0x319 #define CSR_MIPH 0x354 +/*Smcsrind extension */ +#define CSR_MIREG2 0x352 +#define CSR_MIREG3 0x353 +#define CSR_MIREG4 0x355 +#define CSR_MIREG5 0x356 +#define CSR_MIREG6 0x357 /* Smcntrpmf extension. */ #define CSR_MCYCLECFG 0x321 #define CSR_MINSTRETCFG 0x322 @@ -3447,6 +3453,17 @@ #define CSR_HVIPRIO2H 0x657 #define CSR_VSIEH 0x214 #define CSR_VSIPH 0x254 +/* Sscsrind extension */ +#define CSR_SIREG2 0x152 +#define CSR_SIREG3 0x153 +#define CSR_SIREG4 0x155 +#define CSR_SIREG5 0x156 +#define CSR_SIREG6 0x157 +#define CSR_VSIREG2 0x252 +#define CSR_VSIREG3 0x253 +#define CSR_VSIREG4 0x255 +#define CSR_VSIREG5 0x256 +#define CSR_VSIREG6 0x257 /* Sscofpmf extension */ #define CSR_SCOUNTOVF 0xda0 #define CSR_MHPMEVENT3H 0x723 @@ -4402,8 +4419,8 @@ DECLARE_CSR(vstval, CSR_VSTVAL, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLA DECLARE_CSR(vsip, CSR_VSIP, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(vsatp, CSR_VSATP, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) /* Smaia extension */ -DECLARE_CSR(miselect, CSR_MISELECT, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) -DECLARE_CSR(mireg, CSR_MIREG, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(miselect, CSR_MISELECT, CSR_CLASS_SMAIA_OR_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(mireg, CSR_MIREG, CSR_CLASS_SMAIA_OR_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mtopei, CSR_MTOPEI, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mtopi, CSR_MTOPI, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mvien, CSR_MVIEN, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) @@ -4413,6 +4430,12 @@ DECLARE_CSR(mieh, CSR_MIEH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_ DECLARE_CSR(mvienh, CSR_MVIENH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mviph, CSR_MVIPH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(miph, CSR_MIPH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +/* Smcsrind extension */ +DECLARE_CSR(mireg2, CSR_MIREG2, CSR_CLASS_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(mireg3, CSR_MIREG3, CSR_CLASS_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(mireg4, CSR_MIREG4, CSR_CLASS_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(mireg5, CSR_MIREG5, CSR_CLASS_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(mireg6, CSR_MIREG6, CSR_CLASS_SMCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) /* Smcntrpmf extension (incompatible with the privileged spec v1.9.1). */ DECLARE_CSR(mcyclecfg, CSR_MCYCLECFG, CSR_CLASS_SMCNTRPMF, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT) DECLARE_CSR(minstretcfg, CSR_MINSTRETCFG, CSR_CLASS_SMCNTRPMF, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT) @@ -4440,8 +4463,8 @@ DECLARE_CSR(hstateen1h, CSR_HSTATEEN1H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_ DECLARE_CSR(hstateen2h, CSR_HSTATEEN2H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(hstateen3h, CSR_HSTATEEN3H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) /* Ssaia extension */ -DECLARE_CSR(siselect, CSR_SISELECT, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) -DECLARE_CSR(sireg, CSR_SIREG, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(siselect, CSR_SISELECT, CSR_CLASS_SSAIA_OR_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(sireg, CSR_SIREG, CSR_CLASS_SSAIA_OR_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(stopei, CSR_STOPEI, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(stopi, CSR_STOPI, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(sieh, CSR_SIEH, CSR_CLASS_SSAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) @@ -4450,8 +4473,8 @@ DECLARE_CSR(hvien, CSR_HVIEN, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_ DECLARE_CSR(hvictl, CSR_HVICTL, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(hviprio1, CSR_HVIPRIO1, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(hviprio2, CSR_HVIPRIO2, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) -DECLARE_CSR(vsiselect, CSR_VSISELECT, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) -DECLARE_CSR(vsireg, CSR_VSIREG, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsiselect, CSR_VSISELECT, CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg, CSR_VSIREG, CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(vstopei, CSR_VSTOPEI, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(vstopi, CSR_VSTOPI, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(hidelegh, CSR_HIDELEGH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) @@ -4461,6 +4484,17 @@ DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_ DECLARE_CSR(hviprio2h, CSR_HVIPRIO2H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(vsieh, CSR_VSIEH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(vsiph, CSR_VSIPH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +/* Smcsrind extension */ +DECLARE_CSR(sireg2, CSR_SIREG2, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(sireg3, CSR_SIREG3, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(sireg4, CSR_SIREG4, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(sireg5, CSR_SIREG5, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(sireg6, CSR_SIREG6, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg2, CSR_VSIREG2, CSR_CLASS_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg3, CSR_VSIREG3, CSR_CLASS_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg4, CSR_VSIREG4, CSR_CLASS_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg5, CSR_VSIREG5, CSR_CLASS_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(vsireg6, CSR_VSIREG6, CSR_CLASS_SSCSRIND_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) /* Sscofpmf extension */ DECLARE_CSR(scountovf, CSR_SCOUNTOVF, CSR_CLASS_SSCOFPMF, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mhpmevent3h, CSR_MHPMEVENT3H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) -- 2.25.1