From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by sourceware.org (Postfix) with ESMTPS id D72843858D34 for ; Wed, 12 Jun 2024 01:02:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D72843858D34 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D72843858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::234 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718154176; cv=none; b=sEpha94sBiUWWw28ZYvP7w0qHN0aBkKZNSxQ+0Uy2/ShQ4XMhHjWAUj04bhuC5zo64VKGwcrz5oEEKW1sWC9W9cazlz9XDFNbqWiTFoXlI/r79dzkyuKyzr8DxlpDCvoE7uoRH+veDpWjviqGMP7v3hZxRe1Hm4t9PDelNFiITQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718154176; c=relaxed/simple; bh=xtrPacQuoBTjCcbp1EboUFjCYe4v0M9yPBVNmeql8GE=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=mZfZSPdTRA5VAFMGHy23n+OOxGnKDqDLVdQ4rz7bAAZ1XN5T2nwgH2Z3GdFPJYKzo9ANjpeb9qYwsomAhO4asEZwL/jypwBK7XIB1Rc2O4ttR5LsrDEDVMz7noMDDKCNUWrEc89D0Spuq/TFwojDS28VSfkus/XSlWQ0YYLvus0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2eabd22d441so99799971fa.2 for ; Tue, 11 Jun 2024 18:02:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1718154164; x=1718758964; darn=sourceware.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gUA3NSu7kSPEZrJyBtXcRW1GuUx7i8CgY9GaHlQ2dE4=; b=pSrTXcshKhpWBvafgTJ6E5vbOXiaZGXCY9Hnr011n+YM/qG7/uxg43uyWVYUEjwviy lu3oXCymw0JgZZKEt62HlYnpMLgk5v7HsjPo/GdB0W4RB0rUXj+vx//qWx7kQ7r7l/jG 5BGGzTnckvkKz2J2+92dyPvfAVVK7Gt0Ky/+lV9aXXhWH9Zu8XuzegeVcBVAoTYJGxZ4 4q/FNN2ZjmR6dAZ9j/7dTsKKOG/cVpk3xPCGkd4187InNesmDqZxwjVM2/QXbYpr0AdD 9QrhzqtC1LHcKl3T8VvlLu5df090Pv/G7ckFLmy9ya2wuEFFQduVPV76VY0jF6UetMsa cb/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718154164; x=1718758964; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gUA3NSu7kSPEZrJyBtXcRW1GuUx7i8CgY9GaHlQ2dE4=; b=W4WdXrVHxAgU9i4guM7UEaP1xyFBG3bU4Dbf1au2y9VMhQ/29X7vnxBC2AjWuXeL4w bRUyhxZN63wYTMgQ8MEIUi+ISoE8GxB51J4o+EWVxL/Te4NWLcrCYi5tSPnR1cjR4nIf sPM7Zv02UlTYECpBYO89wKmT8ZfAqyRDT/u5aZ1Tz3HBJ+1+1HQWmX1GHaQvRlSG+aQx kCqsCOuHxV6qAQNRKdJD0PNYg8px2JWsdHglGObLPs0rDS/nNaU6tr3Z7Im9UgDHSnwG VekEvBP6s5zbbplNhBTEKyJ9q+oVJnAyHjQUo1eRJsGO1+PIggV+dEFRyzhyVPu7zknC Mkhw== X-Gm-Message-State: AOJu0YwQvLkqZPNPLR864G8mHhKgBkjCLJ0ekyk4GpkfbQWHzKhnI6V7 jaH45tAuveR0ItgZ8Ho3+W7FaHPP3h2Djixgi4RuzIhPoABRjiZvTn8QUqW8nVqOQ+lCxZKCPkR 3VDnLKlEYCpttd5V6Q0xcjKeCFTGaJIcV9VAg0Q== X-Google-Smtp-Source: AGHT+IEwsuhcAJrk6ln/50GC5DrnnAvDaToLfpVtKOmikKiQF2qQxRXOCcueZh4wPXAfkvmevdMvdfdXr4S5wUEndes= X-Received: by 2002:a2e:be05:0:b0:2eb:fca8:7f37 with SMTP id 38308e7fff4ca-2ebfca881f4mr2194901fa.28.1718154163577; Tue, 11 Jun 2024 18:02:43 -0700 (PDT) MIME-Version: 1.0 References: <20240611135900.6503-1-jiawei@iscas.ac.cn> In-Reply-To: <20240611135900.6503-1-jiawei@iscas.ac.cn> From: Nelson Chu Date: Wed, 12 Jun 2024 09:02:32 +0800 Message-ID: Subject: Re: [PATCH v2] RISC-V: Support S[sm]csrind extension csrs. To: Jiawei Cc: binutils@sourceware.org, kito.cheng@gmail.com, palmer@dabbelt.com, jeffreyalaw@gmail.com, jbeulich@suse.com Content-Type: multipart/alternative; boundary="00000000000097059a061aa6f06a" X-Spam-Status: No, score=-9.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: --00000000000097059a061aa6f06a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Committed, thanks. Nelson On Tue, Jun 11, 2024 at 9:59=E2=80=AFPM Jiawei wrote: > This patch supports RISC-V Smcsrind/Sscsrind privilege extension csrs. > Reuse csr 'smselect/siselect', 'mireg/sireg' and 'vsiselect,vsireg' csrs > in Smaia/Ssaia extension. > > version log: remove duplicate rv32 class, fix typos and format. > > 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 | 22 ++++ > 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, 593 insertions(+), 42 deletions(-) > > diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c > index 1fe7e5d3df2..297d565285c 100644 > --- a/bfd/elfxx-riscv.c > +++ b/bfd/elfxx-riscv.c > @@ -1273,10 +1273,12 @@ static struct riscv_implicit_subset > riscv_implicit_subsets[] =3D > {"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}, > @@ -1438,10 +1440,12 @@ static struct riscv_supported_ext > riscv_supported_std_z_ext[] =3D > static struct riscv_supported_ext riscv_supported_std_s_ext[] =3D > { > {"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 c52c5934631..2f82f45ec57 100644 > --- a/gas/NEWS > +++ b/gas/NEWS > @@ -27,6 +27,8 @@ > > * Add support for RISC-V Zvfbfwma extension with version 1.0. > > +* Add support for RISC-V Smcsrind/Sscsrind extension with version 1.0. > + > * The base register operand in D(X,B) and D(L,B) may be explicitly omitt= ed > in assembly on s390. It can now be coded as D(X,) or D(L,) instead of > D(X,0) > D(X,%r0), D(L,0), and D(L,%r0). > diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c > index ccc073aab46..bf9d657da33 100644 > --- a/gas/config/tc-riscv.c > +++ b/gas/config/tc-riscv.c > @@ -77,6 +77,8 @@ 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_SMCSRIND, /* Smcsrind */ > CSR_CLASS_SMCNTRPMF, /* Smcntrpmf */ > CSR_CLASS_SMCNTRPMF_32, /* Smcntrpmf, rv32 only */ > CSR_CLASS_SMSTATEEN, /* Smstateen only */ > @@ -85,6 +87,10 @@ 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_SSCSRIND, /* Sscsrind */ > + CSR_CLASS_SSCSRIND_AND_H, /* Sscsrind with H */ > 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) > */ > @@ -1059,6 +1065,12 @@ riscv_csr_address (const char *csr_name, > case CSR_CLASS_SMAIA: > extension =3D "smaia"; > break; > + case CSR_CLASS_SMAIA_OR_SMCSRIND: > + extension =3D "smaia or smcsrind"; > + break; > + case CSR_CLASS_SMCSRIND: > + extension =3D "smcsrind"; > + break; > case CSR_CLASS_SMCNTRPMF_32: > is_rv32_only =3D true; > /* Fall through. */ > @@ -1082,6 +1094,16 @@ riscv_csr_address (const char *csr_name, > || csr_class =3D=3D CSR_CLASS_SSAIA_AND_H_32); > extension =3D "ssaia"; > break; > + case CSR_CLASS_SSAIA_OR_SSCSRIND: > + case CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H: > + is_h_required =3D (csr_class =3D=3D CSR_CLASS_SSAIA_OR_SSCSRIND_AN= D_H); > + extension =3D "ssaia or sscsrind"; > + break; > + case CSR_CLASS_SSCSRIND: > + case CSR_CLASS_SSCSRIND_AND_H: > + is_h_required =3D (csr_class =3D=3D CSR_CLASS_SSCSRIND_AND_H); > + extension =3D "sscsrind"; > + break; > case CSR_CLASS_SSSTATEEN_AND_H_32: > is_rv32_only =3D true; > /* Fall through. */ > 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 dd82752cd30..d2b98383e80 100644 > --- a/gas/testsuite/gas/riscv/march-help.l > +++ b/gas/testsuite/gas/riscv/march-help.l > @@ -95,10 +95,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 e8c08e800c6..511895eca2b 100644 > --- a/include/opcode/riscv-opc.h > +++ b/include/opcode/riscv-opc.h > @@ -3471,6 +3471,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 > @@ -3519,6 +3525,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 > @@ -4483,8 +4500,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) > @@ -4494,6 +4511,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) > @@ -4521,8 +4544,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) > @@ -4531,8 +4554,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) > @@ -4542,6 +4565,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) > +/* Sscsrind 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 > > --00000000000097059a061aa6f06a--