[v3] riscv: Add AIA extension support (Smaia, Ssaia)
Checks
Commit Message
From: Christoph Müllner <christoph.muellner@vrull.eu>
This commit adds the AIA extensions (Smaia and Ssaia) CSRs.
bfd/ChangeLog:
* elfxx-riscv.c: Add 'smaia' and 'ssaia' to the list
of known standard extensions.
gas/ChangeLog:
* config/tc-riscv.c (enum riscv_csr_class):
(riscv_csr_address): Add CSR classes for Smaia/Ssaia.
* testsuite/gas/riscv/csr-dw-regnums.d: Add new CSRs.
* testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
* testsuite/gas/riscv/csr-version-1p10.d: Likewise.
* testsuite/gas/riscv/csr-version-1p10.l: Likewise.
* testsuite/gas/riscv/csr-version-1p11.d: Likewise.
* testsuite/gas/riscv/csr-version-1p11.l: Likewise.
* testsuite/gas/riscv/csr-version-1p12.d: Likewise.
* testsuite/gas/riscv/csr-version-1p12.l: Likewise.
* testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
* testsuite/gas/riscv/csr-version-1p9p1.l: Likewise.
* testsuite/gas/riscv/csr.s: Likewise.
include/ChangeLog:
* opcode/riscv-opc.h (CSR_MISELECT): New CSR macro.
(CSR_MIREG): Likewise.
(CSR_MTOPEI): Likewise.
(CSR_MTOPI): Likewise.
(CSR_MVIEN): Likewise.
(CSR_MVIP): Likewise.
(CSR_MIDELEGH): Likewise.
(CSR_MIEH): Likewise.
(CSR_MVIENH): Likewise.
(CSR_MVIPH): Likewise.
(CSR_MIPH): Likewise.
(CSR_SISELECT): Likewise.
(CSR_SIREG): Likewise.
(CSR_STOPEI): Likewise.
(CSR_STOPI): Likewise.
(CSR_SIEH): Likewise.
(CSR_SIPH): Likewise.
(CSR_HVIEN): Likewise.
(CSR_HVICTL): Likewise.
(CSR_HVIPRIO1): Likewise.
(CSR_HVIPRIO2): Likewise.
(CSR_VSISELECT): Likewise.
(CSR_VSIREG): Likewise.
(CSR_VSTOPEI): Likewise.
(CSR_VSTOPI): Likewise.
(CSR_HIDELEGH): Likewise.
(CSR_HVIENH): Likewise.
(CSR_HVIPH): Likewise.
(CSR_HVIPRIO1H): Likewise.
(CSR_HVIPRIO2H): Likewise.
(CSR_VSIEH): Likewise.
(CSR_VSIPH): Likewise.
(DECLARE_CSR): Add CSRs for Smaia and Ssaia.
Changes for v3:
- Imply ssaia for smaia
- Imply zicsr for ssaia (and transitively smaia)
- Move hypervisor CSRs to Ssaia+H
- Rebase on upstream/master
Changes for v2:
- Add hypervisor and VS CSRs
- Fix whitespace issue
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
---
bfd/elfxx-riscv.c | 4 +
gas/config/tc-riscv.c | 22 ++++
gas/testsuite/gas/riscv/csr-dw-regnums.d | 32 +++++
gas/testsuite/gas/riscv/csr-dw-regnums.s | 36 ++++++
gas/testsuite/gas/riscv/csr-version-1p10.d | 64 ++++++++++
gas/testsuite/gas/riscv/csr-version-1p10.l | 125 ++++++++++++++++++++
gas/testsuite/gas/riscv/csr-version-1p11.d | 64 ++++++++++
gas/testsuite/gas/riscv/csr-version-1p11.l | 125 ++++++++++++++++++++
gas/testsuite/gas/riscv/csr-version-1p12.d | 64 ++++++++++
gas/testsuite/gas/riscv/csr-version-1p12.l | 125 ++++++++++++++++++++
gas/testsuite/gas/riscv/csr-version-1p9p1.d | 64 ++++++++++
gas/testsuite/gas/riscv/csr-version-1p9p1.l | 125 ++++++++++++++++++++
gas/testsuite/gas/riscv/csr.s | 36 ++++++
include/opcode/riscv-opc.h | 68 +++++++++++
14 files changed, 954 insertions(+)
Comments
Thanks! Passed the binutils testsuites, so committed.
Nelson
On Tue, Nov 22, 2022 at 7:09 PM Christoph Muellner
<christoph.muellner@vrull.eu> wrote:
>
> From: Christoph Müllner <christoph.muellner@vrull.eu>
>
> This commit adds the AIA extensions (Smaia and Ssaia) CSRs.
>
> bfd/ChangeLog:
>
> * elfxx-riscv.c: Add 'smaia' and 'ssaia' to the list
> of known standard extensions.
>
> gas/ChangeLog:
>
> * config/tc-riscv.c (enum riscv_csr_class):
> (riscv_csr_address): Add CSR classes for Smaia/Ssaia.
> * testsuite/gas/riscv/csr-dw-regnums.d: Add new CSRs.
> * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
> * testsuite/gas/riscv/csr-version-1p10.d: Likewise.
> * testsuite/gas/riscv/csr-version-1p10.l: Likewise.
> * testsuite/gas/riscv/csr-version-1p11.d: Likewise.
> * testsuite/gas/riscv/csr-version-1p11.l: Likewise.
> * testsuite/gas/riscv/csr-version-1p12.d: Likewise.
> * testsuite/gas/riscv/csr-version-1p12.l: Likewise.
> * testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
> * testsuite/gas/riscv/csr-version-1p9p1.l: Likewise.
> * testsuite/gas/riscv/csr.s: Likewise.
>
> include/ChangeLog:
>
> * opcode/riscv-opc.h (CSR_MISELECT): New CSR macro.
> (CSR_MIREG): Likewise.
> (CSR_MTOPEI): Likewise.
> (CSR_MTOPI): Likewise.
> (CSR_MVIEN): Likewise.
> (CSR_MVIP): Likewise.
> (CSR_MIDELEGH): Likewise.
> (CSR_MIEH): Likewise.
> (CSR_MVIENH): Likewise.
> (CSR_MVIPH): Likewise.
> (CSR_MIPH): Likewise.
> (CSR_SISELECT): Likewise.
> (CSR_SIREG): Likewise.
> (CSR_STOPEI): Likewise.
> (CSR_STOPI): Likewise.
> (CSR_SIEH): Likewise.
> (CSR_SIPH): Likewise.
> (CSR_HVIEN): Likewise.
> (CSR_HVICTL): Likewise.
> (CSR_HVIPRIO1): Likewise.
> (CSR_HVIPRIO2): Likewise.
> (CSR_VSISELECT): Likewise.
> (CSR_VSIREG): Likewise.
> (CSR_VSTOPEI): Likewise.
> (CSR_VSTOPI): Likewise.
> (CSR_HIDELEGH): Likewise.
> (CSR_HVIENH): Likewise.
> (CSR_HVIPH): Likewise.
> (CSR_HVIPRIO1H): Likewise.
> (CSR_HVIPRIO2H): Likewise.
> (CSR_VSIEH): Likewise.
> (CSR_VSIPH): Likewise.
> (DECLARE_CSR): Add CSRs for Smaia and Ssaia.
>
> Changes for v3:
> - Imply ssaia for smaia
> - Imply zicsr for ssaia (and transitively smaia)
> - Move hypervisor CSRs to Ssaia+H
> - Rebase on upstream/master
>
> Changes for v2:
> - Add hypervisor and VS CSRs
> - Fix whitespace issue
>
> Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
> ---
> bfd/elfxx-riscv.c | 4 +
> gas/config/tc-riscv.c | 22 ++++
> gas/testsuite/gas/riscv/csr-dw-regnums.d | 32 +++++
> gas/testsuite/gas/riscv/csr-dw-regnums.s | 36 ++++++
> gas/testsuite/gas/riscv/csr-version-1p10.d | 64 ++++++++++
> gas/testsuite/gas/riscv/csr-version-1p10.l | 125 ++++++++++++++++++++
> gas/testsuite/gas/riscv/csr-version-1p11.d | 64 ++++++++++
> gas/testsuite/gas/riscv/csr-version-1p11.l | 125 ++++++++++++++++++++
> gas/testsuite/gas/riscv/csr-version-1p12.d | 64 ++++++++++
> gas/testsuite/gas/riscv/csr-version-1p12.l | 125 ++++++++++++++++++++
> gas/testsuite/gas/riscv/csr-version-1p9p1.d | 64 ++++++++++
> gas/testsuite/gas/riscv/csr-version-1p9p1.l | 125 ++++++++++++++++++++
> gas/testsuite/gas/riscv/csr.s | 36 ++++++
> include/opcode/riscv-opc.h | 68 +++++++++++
> 14 files changed, 954 insertions(+)
>
> diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> index afbde56b9e5..a81ba3e303f 100644
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -1097,8 +1097,10 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
> {"zks", "zbkx", check_implicit_always},
> {"zks", "zksed", check_implicit_always},
> {"zks", "zksh", check_implicit_always},
> + {"smaia", "ssaia", check_implicit_always},
> {"smstateen", "ssstateen", check_implicit_always},
> {"smepmp", "zicsr", check_implicit_always},
> + {"ssaia", "zicsr", check_implicit_always},
> {"sscofpmf", "zicsr", check_implicit_always},
> {"ssstateen", "zicsr", check_implicit_always},
> {"sstc", "zicsr", check_implicit_always},
> @@ -1217,8 +1219,10 @@ 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 },
> {"smepmp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
> {"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
> + {"ssaia", 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/config/tc-riscv.c b/gas/config/tc-riscv.c
> index 019545171f5..96d71dd1db6 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -68,8 +68,14 @@ enum riscv_csr_class
> CSR_CLASS_DEBUG, /* debug CSR */
> CSR_CLASS_H, /* hypervisor */
> CSR_CLASS_H_32, /* hypervisor, rv32 only */
> + CSR_CLASS_SMAIA, /* Smaia */
> + CSR_CLASS_SMAIA_32, /* Smaia, rv32 only */
> CSR_CLASS_SMSTATEEN, /* Smstateen only */
> CSR_CLASS_SMSTATEEN_32, /* Smstateen RV32 only */
> + CSR_CLASS_SSAIA, /* Ssaia */
> + 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_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) */
> @@ -1029,11 +1035,27 @@ riscv_csr_address (const char *csr_name,
> case CSR_CLASS_V:
> extension = "zve32x";
> break;
> + case CSR_CLASS_SMAIA_32:
> + is_rv32_only = true;
> + /* Fall through. */
> + case CSR_CLASS_SMAIA:
> + extension = "smaia";
> + break;
> case CSR_CLASS_SMSTATEEN:
> case CSR_CLASS_SMSTATEEN_32:
> is_rv32_only = (csr_class == CSR_CLASS_SMSTATEEN_32);
> extension = "smstateen";
> break;
> + case CSR_CLASS_SSAIA:
> + case CSR_CLASS_SSAIA_AND_H:
> + case CSR_CLASS_SSAIA_32:
> + case CSR_CLASS_SSAIA_AND_H_32:
> + is_rv32_only = (csr_class == CSR_CLASS_SSAIA_32
> + || csr_class == CSR_CLASS_SSAIA_AND_H_32);
> + is_h_required = (csr_class == CSR_CLASS_SSAIA_AND_H
> + || csr_class == CSR_CLASS_SSAIA_AND_H_32);
> + extension = "ssaia";
> + break;
> case CSR_CLASS_SSSTATEEN:
> case CSR_CLASS_SSSTATEEN_AND_H:
> case CSR_CLASS_SSSTATEEN_AND_H_32:
> diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas/riscv/csr-dw-regnums.d
> index b4b3806a085..fd830666ab8 100644
> --- a/gas/testsuite/gas/riscv/csr-dw-regnums.d
> +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d
> @@ -313,6 +313,17 @@ Contents of the .* section:
> DW_CFA_offset_extended_sf: r4675 \(vstval\) at cfa\+2316
> DW_CFA_offset_extended_sf: r4676 \(vsip\) at cfa\+2320
> DW_CFA_offset_extended_sf: r4736 \(vsatp\) at cfa\+2560
> + DW_CFA_offset_extended_sf: r4944 \(miselect\) at cfa\+3392
> + DW_CFA_offset_extended_sf: r4945 \(mireg\) at cfa\+3396
> + DW_CFA_offset_extended_sf: r4956 \(mtopei\) at cfa\+3440
> + DW_CFA_offset_extended_sf: r8112 \(mtopi\) at cfa\+16064
> + DW_CFA_offset_extended_sf: r4872 \(mvien\) at cfa\+3104
> + DW_CFA_offset_extended_sf: r4873 \(mvip\) at cfa\+3108
> + DW_CFA_offset_extended_sf: r4883 \(midelegh\) at cfa\+3148
> + DW_CFA_offset_extended_sf: r4884 \(mieh\) at cfa\+3152
> + DW_CFA_offset_extended_sf: r4888 \(mvienh\) at cfa\+3168
> + DW_CFA_offset_extended_sf: r4889 \(mviph\) at cfa\+3172
> + DW_CFA_offset_extended_sf: r4948 \(miph\) at cfa\+3408
> DW_CFA_offset_extended_sf: r4876 \(mstateen0\) at cfa\+3120
> DW_CFA_offset_extended_sf: r4877 \(mstateen1\) at cfa\+3124
> DW_CFA_offset_extended_sf: r4878 \(mstateen2\) at cfa\+3128
> @@ -333,6 +344,27 @@ Contents of the .* section:
> DW_CFA_offset_extended_sf: r5661 \(hstateen1h\) at cfa\+6260
> DW_CFA_offset_extended_sf: r5662 \(hstateen2h\) at cfa\+6264
> DW_CFA_offset_extended_sf: r5663 \(hstateen3h\) at cfa\+6268
> + DW_CFA_offset_extended_sf: r4432 \(siselect\) at cfa\+1344
> + DW_CFA_offset_extended_sf: r4433 \(sireg\) at cfa\+1348
> + DW_CFA_offset_extended_sf: r4444 \(stopei\) at cfa\+1392
> + DW_CFA_offset_extended_sf: r7600 \(stopi\) at cfa\+14016
> + DW_CFA_offset_extended_sf: r4372 \(sieh\) at cfa\+1104
> + DW_CFA_offset_extended_sf: r4436 \(siph\) at cfa\+1360
> + DW_CFA_offset_extended_sf: r5640 \(hvien\) at cfa\+6176
> + DW_CFA_offset_extended_sf: r5641 \(hvictl\) at cfa\+6180
> + DW_CFA_offset_extended_sf: r5702 \(hviprio1\) at cfa\+6424
> + DW_CFA_offset_extended_sf: r5703 \(hviprio2\) at cfa\+6428
> + DW_CFA_offset_extended_sf: r4688 \(vsiselect\) at cfa\+2368
> + DW_CFA_offset_extended_sf: r4689 \(vsireg\) at cfa\+2372
> + DW_CFA_offset_extended_sf: r4700 \(vstopei\) at cfa\+2416
> + DW_CFA_offset_extended_sf: r7856 \(vstopi\) at cfa\+15040
> + DW_CFA_offset_extended_sf: r5651 \(hidelegh\) at cfa\+6220
> + DW_CFA_offset_extended_sf: r5656 \(hvienh\) at cfa\+6240
> + DW_CFA_offset_extended_sf: r5717 \(hviph\) at cfa\+6484
> + DW_CFA_offset_extended_sf: r5718 \(hviprio1h\) at cfa\+6488
> + DW_CFA_offset_extended_sf: r5719 \(hviprio2h\) at cfa\+6492
> + DW_CFA_offset_extended_sf: r4628 \(vsieh\) at cfa\+2128
> + DW_CFA_offset_extended_sf: r4692 \(vsiph\) at cfa\+2384
> DW_CFA_offset_extended_sf: r7584 \(scountovf\) at cfa\+13952
> DW_CFA_offset_extended_sf: r5923 \(mhpmevent3h\) at cfa\+7308
> DW_CFA_offset_extended_sf: r5924 \(mhpmevent4h\) at cfa\+7312
> diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.s b/gas/testsuite/gas/riscv/csr-dw-regnums.s
> index 6cfa415ebc2..b8b0f790229 100644
> --- a/gas/testsuite/gas/riscv/csr-dw-regnums.s
> +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.s
> @@ -1,6 +1,8 @@
> # Check that CFI directives can accept all of the CSR names (including
> # aliases). The results for this test also ensures that the DWARF
> # register numbers for the CSRs shouldn't change.
> +# The register numbers are specified to be CSR-ID + 4096 (see psABI spec).
> +# The CFI offsets in this file are CSR-ID x 4.
>
> .text
> .global _start
> @@ -307,6 +309,18 @@ _start:
> .cfi_offset vstval, 2316
> .cfi_offset vsip, 2320
> .cfi_offset vsatp, 2560
> + # Smaia extension
> + .cfi_offset miselect, 3392
> + .cfi_offset mireg, 3396
> + .cfi_offset mtopei, 3440
> + .cfi_offset mtopi, 16064
> + .cfi_offset mvien, 3104
> + .cfi_offset mvip, 3108
> + .cfi_offset midelegh, 3148
> + .cfi_offset mieh, 3152
> + .cfi_offset mvienh, 3168
> + .cfi_offset mviph, 3172
> + .cfi_offset miph, 3408
> # Smstateen extension
> .cfi_offset mstateen0, 3120
> .cfi_offset mstateen1, 3124
> @@ -328,6 +342,28 @@ _start:
> .cfi_offset hstateen1h, 6260
> .cfi_offset hstateen2h, 6264
> .cfi_offset hstateen3h, 6268
> + # Ssaia extension
> + .cfi_offset siselect, 1344
> + .cfi_offset sireg, 1348
> + .cfi_offset stopei, 1392
> + .cfi_offset stopi, 14016
> + .cfi_offset sieh, 1104
> + .cfi_offset siph, 1360
> + .cfi_offset hvien, 6176
> + .cfi_offset hvictl, 6180
> + .cfi_offset hviprio1, 6424
> + .cfi_offset hviprio2, 6428
> + .cfi_offset vsiselect, 2368
> + .cfi_offset vsireg, 2372
> + .cfi_offset vstopei, 2416
> + .cfi_offset vstopi, 15040
> + .cfi_offset hidelegh, 6220
> + .cfi_offset hvienh, 6240
> + .cfi_offset hviph, 6484
> + .cfi_offset hviprio1h, 6488
> + .cfi_offset hviprio2h, 6492
> + .cfi_offset vsieh, 2128
> + .cfi_offset vsiph, 2384
> # Sscofpmf extension
> .cfi_offset scountovf, 13952
> .cfi_offset mhpmevent3h, 7308
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
> index bd8b10302e3..ee41e1025cc 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p10.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
> @@ -601,6 +601,28 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
> [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
> [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
> +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
> +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
> +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
> +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
> +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
> +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
> +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
> +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
> +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
> +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
> +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
> +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
> +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
> +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
> +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
> +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
> +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
> [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
> [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
> [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
> @@ -641,6 +663,48 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
> [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
> [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
> +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
> +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
> +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
> +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
> +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
> +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
> +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
> +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
> +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
> +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
> +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
> +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
> +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
> +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
> +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
> +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
> +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
> +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
> +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
> +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
> +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
> +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
> +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
> +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
> +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
> +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
> +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
> +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
> +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
> +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
> +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
> +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,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 03af32d3bef..e677b78b8bb 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p10.l
> +++ b/gas/testsuite/gas/riscv/csr-version-1p10.l
> @@ -411,6 +411,39 @@
> .*Warning: invalid CSR `vsip', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: read-only CSR is written `csrw mtopi,a1'
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen1', needs `smstateen' extension
> @@ -483,6 +516,98 @@
> .*Warning: invalid CSR `hstateen3h', needs rv32i extension
> .*Warning: invalid CSR `hstateen3h', needs `h' extension
> .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw stopi,a1'
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw vstopi,a1'
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: read-only CSR is written `csrw scountovf,a1'
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
> index 5d6333884f1..a83b1bf68f9 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p11.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
> @@ -601,6 +601,28 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
> [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
> [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
> +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
> +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
> +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
> +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
> +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
> +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
> +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
> +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
> +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
> +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
> +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
> +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
> +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
> +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
> +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
> +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
> +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
> [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
> [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
> [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
> @@ -641,6 +663,48 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
> [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
> [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
> +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
> +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
> +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
> +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
> +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
> +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
> +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
> +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
> +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
> +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
> +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
> +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
> +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
> +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
> +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
> +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
> +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
> +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
> +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
> +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
> +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
> +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
> +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
> +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
> +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
> +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
> +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
> +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
> +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
> +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
> +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
> +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,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 0766c2263ec..81ca86ca7bc 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p11.l
> +++ b/gas/testsuite/gas/riscv/csr-version-1p11.l
> @@ -409,6 +409,39 @@
> .*Warning: invalid CSR `vsip', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: read-only CSR is written `csrw mtopi,a1'
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen1', needs `smstateen' extension
> @@ -481,6 +514,98 @@
> .*Warning: invalid CSR `hstateen3h', needs rv32i extension
> .*Warning: invalid CSR `hstateen3h', needs `h' extension
> .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw stopi,a1'
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw vstopi,a1'
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: read-only CSR is written `csrw scountovf,a1'
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
> index 728e647c552..612aac28076 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p12.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
> @@ -601,6 +601,28 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
> [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
> [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
> +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
> +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
> +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
> +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
> +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
> +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
> +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
> +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
> +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
> +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
> +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
> +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
> +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
> +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
> +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
> +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
> +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
> [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
> [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
> [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
> @@ -641,6 +663,48 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
> [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
> [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
> +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
> +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
> +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
> +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
> +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
> +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
> +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
> +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
> +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
> +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
> +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
> +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
> +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
> +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
> +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
> +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
> +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
> +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
> +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
> +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
> +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
> +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
> +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
> +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
> +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
> +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
> +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
> +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
> +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
> +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
> +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
> +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,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 c13efcc6681..1c0bb4ef2d8 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p12.l
> +++ b/gas/testsuite/gas/riscv/csr-version-1p12.l
> @@ -271,6 +271,39 @@
> .*Warning: invalid CSR `vsip', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: read-only CSR is written `csrw mtopi,a1'
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen1', needs `smstateen' extension
> @@ -343,6 +376,98 @@
> .*Warning: invalid CSR `hstateen3h', needs rv32i extension
> .*Warning: invalid CSR `hstateen3h', needs `h' extension
> .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw stopi,a1'
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw vstopi,a1'
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: read-only CSR is written `csrw scountovf,a1'
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> index a34b99f4632..0fe849c269c 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> @@ -601,6 +601,28 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
> [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
> [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
> +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
> +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
> +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
> +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
> +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
> +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
> +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
> +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
> +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
> +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
> +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
> +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
> +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
> +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
> +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
> +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
> +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
> [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
> [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
> [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
> @@ -641,6 +663,48 @@ Disassembly of section .text:
> [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
> [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
> [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
> +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
> +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
> +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
> +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
> +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
> +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
> +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
> +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
> +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
> +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
> +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
> +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
> +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
> +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
> +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
> +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
> +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
> +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
> +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
> +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
> +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
> +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
> +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
> +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
> +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
> +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
> +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
> +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
> +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
> +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
> +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
> +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,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-1p9p1.l b/gas/testsuite/gas/riscv/csr-version-1p9p1.l
> index bc35630abd0..c65d0b48e41 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.l
> +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.l
> @@ -461,6 +461,39 @@
> .*Warning: invalid CSR `vsip', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> .*Warning: invalid CSR `vsatp', needs `h' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `miselect', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mireg', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopei', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: invalid CSR `mtopi', needs `smaia' extension
> +.*Warning: read-only CSR is written `csrw mtopi,a1'
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvien', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `mvip', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `midelegh', needs rv32i extension
> +.*Warning: invalid CSR `midelegh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mieh', needs rv32i extension
> +.*Warning: invalid CSR `mieh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mvienh', needs rv32i extension
> +.*Warning: invalid CSR `mvienh', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `mviph', needs rv32i extension
> +.*Warning: invalid CSR `mviph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> +.*Warning: invalid CSR `miph', needs rv32i extension
> +.*Warning: invalid CSR `miph', needs `smaia' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen0', needs `smstateen' extension
> .*Warning: invalid CSR `mstateen1', needs `smstateen' extension
> @@ -533,6 +566,98 @@
> .*Warning: invalid CSR `hstateen3h', needs rv32i extension
> .*Warning: invalid CSR `hstateen3h', needs `h' extension
> .*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `siselect', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `sireg', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopei', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: invalid CSR `stopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw stopi,a1'
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `sieh', needs rv32i extension
> +.*Warning: invalid CSR `sieh', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `siph', needs rv32i extension
> +.*Warning: invalid CSR `siph', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvien', needs `h' extension
> +.*Warning: invalid CSR `hvien', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hvictl', needs `h' extension
> +.*Warning: invalid CSR `hvictl', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1', needs `h' extension
> +.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2', needs `h' extension
> +.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiselect', needs `h' extension
> +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vsireg', needs `h' extension
> +.*Warning: invalid CSR `vsireg', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopei', needs `h' extension
> +.*Warning: invalid CSR `vstopei', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: invalid CSR `vstopi', needs `h' extension
> +.*Warning: invalid CSR `vstopi', needs `ssaia' extension
> +.*Warning: read-only CSR is written `csrw vstopi,a1'
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hidelegh', needs rv32i extension
> +.*Warning: invalid CSR `hidelegh', needs `h' extension
> +.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hvienh', needs rv32i extension
> +.*Warning: invalid CSR `hvienh', needs `h' extension
> +.*Warning: invalid CSR `hvienh', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviph', needs rv32i extension
> +.*Warning: invalid CSR `hviph', needs `h' extension
> +.*Warning: invalid CSR `hviph', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio1h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio1h', needs `h' extension
> +.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `hviprio2h', needs rv32i extension
> +.*Warning: invalid CSR `hviprio2h', needs `h' extension
> +.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsieh', needs rv32i extension
> +.*Warning: invalid CSR `vsieh', needs `h' extension
> +.*Warning: invalid CSR `vsieh', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> +.*Warning: invalid CSR `vsiph', needs rv32i extension
> +.*Warning: invalid CSR `vsiph', needs `h' extension
> +.*Warning: invalid CSR `vsiph', needs `ssaia' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
> .*Warning: read-only CSR is written `csrw scountovf,a1'
> diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.s
> index 397fe0b9eb8..c7406ce34c2 100644
> --- a/gas/testsuite/gas/riscv/csr.s
> +++ b/gas/testsuite/gas/riscv/csr.s
> @@ -337,6 +337,19 @@
> csr vsip
> csr vsatp
>
> + # Smaia
> + csr miselect
> + csr mireg
> + csr mtopei
> + csr mtopi
> + csr mvien
> + csr mvip
> + csr midelegh
> + csr mieh
> + csr mvienh
> + csr mviph
> + csr miph
> +
> # Smstateen/Ssstateen extensions
> csr mstateen0
> csr mstateen1
> @@ -359,6 +372,29 @@
> csr hstateen2h
> csr hstateen3h
>
> + # Ssaia
> + csr siselect
> + csr sireg
> + csr stopei
> + csr stopi
> + csr sieh
> + csr siph
> + csr hvien
> + csr hvictl
> + csr hviprio1
> + csr hviprio2
> + csr vsiselect
> + csr vsireg
> + csr vstopei
> + csr vstopi
> + csr hidelegh
> + csr hvienh
> + csr hviph
> + csr hviprio1h
> + csr hviprio2h
> + csr vsieh
> + csr vsiph
> +
> # Sscofpmf extension
> csr scountovf
> csr mhpmevent3h
> diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
> index cdc0919dfe2..06e3df0f5a6 100644
> --- a/include/opcode/riscv-opc.h
> +++ b/include/opcode/riscv-opc.h
> @@ -2661,6 +2661,18 @@
> #define CSR_UIP 0x44
> #define CSR_SEDELEG 0x102
> #define CSR_SIDELEG 0x103
> +/* Smaia extension */
> +#define CSR_MISELECT 0x350
> +#define CSR_MIREG 0x351
> +#define CSR_MTOPEI 0x35c
> +#define CSR_MTOPI 0xfb0
> +#define CSR_MVIEN 0x308
> +#define CSR_MVIP 0x309
> +#define CSR_MIDELEGH 0x313
> +#define CSR_MIEH 0x314
> +#define CSR_MVIENH 0x318
> +#define CSR_MVIPH 0x319
> +#define CSR_MIPH 0x354
> /* Smstateen extension */
> #define CSR_MSTATEEN0 0x30c
> #define CSR_MSTATEEN1 0x30d
> @@ -2682,6 +2694,28 @@
> #define CSR_HSTATEEN1H 0x61d
> #define CSR_HSTATEEN2H 0x61e
> #define CSR_HSTATEEN3H 0x61f
> +/* Ssaia extension */
> +#define CSR_SISELECT 0x150
> +#define CSR_SIREG 0x151
> +#define CSR_STOPEI 0x15c
> +#define CSR_STOPI 0xdb0
> +#define CSR_SIEH 0x114
> +#define CSR_SIPH 0x154
> +#define CSR_HVIEN 0x608
> +#define CSR_HVICTL 0x609
> +#define CSR_HVIPRIO1 0x646
> +#define CSR_HVIPRIO2 0x647
> +#define CSR_VSISELECT 0x250
> +#define CSR_VSIREG 0x251
> +#define CSR_VSTOPEI 0x25c
> +#define CSR_VSTOPI 0xeb0
> +#define CSR_HIDELEGH 0x613
> +#define CSR_HVIENH 0x618
> +#define CSR_HVIPH 0x655
> +#define CSR_HVIPRIO1H 0x656
> +#define CSR_HVIPRIO2H 0x657
> +#define CSR_VSIEH 0x214
> +#define CSR_VSIPH 0x254
> /* Sscofpmf extension */
> #define CSR_SCOUNTOVF 0xda0
> #define CSR_MHPMEVENT3H 0x723
> @@ -3504,6 +3538,18 @@ DECLARE_CSR(vscause, CSR_VSCAUSE, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_C
> DECLARE_CSR(vstval, CSR_VSTVAL, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> 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(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)
> +DECLARE_CSR(mvip, CSR_MVIP, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +DECLARE_CSR(midelegh, CSR_MIDELEGH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +DECLARE_CSR(mieh, CSR_MIEH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +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)
> /* Smstateen/Ssstateen extensions. */
> DECLARE_CSR(mstateen0, CSR_MSTATEEN0, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> DECLARE_CSR(mstateen1, CSR_MSTATEEN1, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> @@ -3525,6 +3571,28 @@ DECLARE_CSR(hstateen0h, CSR_HSTATEEN0H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_
> DECLARE_CSR(hstateen1h, CSR_HSTATEEN1H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> 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(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)
> +DECLARE_CSR(siph, CSR_SIPH, CSR_CLASS_SSAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +DECLARE_CSR(hvien, CSR_HVIEN, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +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(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)
> +DECLARE_CSR(hvienh, CSR_HVIENH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +DECLARE_CSR(hviph, CSR_HVIPH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
> +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)
> /* 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.38.1
>
@@ -1097,8 +1097,10 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"zks", "zbkx", check_implicit_always},
{"zks", "zksed", check_implicit_always},
{"zks", "zksh", check_implicit_always},
+ {"smaia", "ssaia", check_implicit_always},
{"smstateen", "ssstateen", check_implicit_always},
{"smepmp", "zicsr", check_implicit_always},
+ {"ssaia", "zicsr", check_implicit_always},
{"sscofpmf", "zicsr", check_implicit_always},
{"ssstateen", "zicsr", check_implicit_always},
{"sstc", "zicsr", check_implicit_always},
@@ -1217,8 +1219,10 @@ 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 },
{"smepmp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"ssaia", 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 },
@@ -68,8 +68,14 @@ enum riscv_csr_class
CSR_CLASS_DEBUG, /* debug CSR */
CSR_CLASS_H, /* hypervisor */
CSR_CLASS_H_32, /* hypervisor, rv32 only */
+ CSR_CLASS_SMAIA, /* Smaia */
+ CSR_CLASS_SMAIA_32, /* Smaia, rv32 only */
CSR_CLASS_SMSTATEEN, /* Smstateen only */
CSR_CLASS_SMSTATEEN_32, /* Smstateen RV32 only */
+ CSR_CLASS_SSAIA, /* Ssaia */
+ 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_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) */
@@ -1029,11 +1035,27 @@ riscv_csr_address (const char *csr_name,
case CSR_CLASS_V:
extension = "zve32x";
break;
+ case CSR_CLASS_SMAIA_32:
+ is_rv32_only = true;
+ /* Fall through. */
+ case CSR_CLASS_SMAIA:
+ extension = "smaia";
+ break;
case CSR_CLASS_SMSTATEEN:
case CSR_CLASS_SMSTATEEN_32:
is_rv32_only = (csr_class == CSR_CLASS_SMSTATEEN_32);
extension = "smstateen";
break;
+ case CSR_CLASS_SSAIA:
+ case CSR_CLASS_SSAIA_AND_H:
+ case CSR_CLASS_SSAIA_32:
+ case CSR_CLASS_SSAIA_AND_H_32:
+ is_rv32_only = (csr_class == CSR_CLASS_SSAIA_32
+ || csr_class == CSR_CLASS_SSAIA_AND_H_32);
+ is_h_required = (csr_class == CSR_CLASS_SSAIA_AND_H
+ || csr_class == CSR_CLASS_SSAIA_AND_H_32);
+ extension = "ssaia";
+ break;
case CSR_CLASS_SSSTATEEN:
case CSR_CLASS_SSSTATEEN_AND_H:
case CSR_CLASS_SSSTATEEN_AND_H_32:
@@ -313,6 +313,17 @@ Contents of the .* section:
DW_CFA_offset_extended_sf: r4675 \(vstval\) at cfa\+2316
DW_CFA_offset_extended_sf: r4676 \(vsip\) at cfa\+2320
DW_CFA_offset_extended_sf: r4736 \(vsatp\) at cfa\+2560
+ DW_CFA_offset_extended_sf: r4944 \(miselect\) at cfa\+3392
+ DW_CFA_offset_extended_sf: r4945 \(mireg\) at cfa\+3396
+ DW_CFA_offset_extended_sf: r4956 \(mtopei\) at cfa\+3440
+ DW_CFA_offset_extended_sf: r8112 \(mtopi\) at cfa\+16064
+ DW_CFA_offset_extended_sf: r4872 \(mvien\) at cfa\+3104
+ DW_CFA_offset_extended_sf: r4873 \(mvip\) at cfa\+3108
+ DW_CFA_offset_extended_sf: r4883 \(midelegh\) at cfa\+3148
+ DW_CFA_offset_extended_sf: r4884 \(mieh\) at cfa\+3152
+ DW_CFA_offset_extended_sf: r4888 \(mvienh\) at cfa\+3168
+ DW_CFA_offset_extended_sf: r4889 \(mviph\) at cfa\+3172
+ DW_CFA_offset_extended_sf: r4948 \(miph\) at cfa\+3408
DW_CFA_offset_extended_sf: r4876 \(mstateen0\) at cfa\+3120
DW_CFA_offset_extended_sf: r4877 \(mstateen1\) at cfa\+3124
DW_CFA_offset_extended_sf: r4878 \(mstateen2\) at cfa\+3128
@@ -333,6 +344,27 @@ Contents of the .* section:
DW_CFA_offset_extended_sf: r5661 \(hstateen1h\) at cfa\+6260
DW_CFA_offset_extended_sf: r5662 \(hstateen2h\) at cfa\+6264
DW_CFA_offset_extended_sf: r5663 \(hstateen3h\) at cfa\+6268
+ DW_CFA_offset_extended_sf: r4432 \(siselect\) at cfa\+1344
+ DW_CFA_offset_extended_sf: r4433 \(sireg\) at cfa\+1348
+ DW_CFA_offset_extended_sf: r4444 \(stopei\) at cfa\+1392
+ DW_CFA_offset_extended_sf: r7600 \(stopi\) at cfa\+14016
+ DW_CFA_offset_extended_sf: r4372 \(sieh\) at cfa\+1104
+ DW_CFA_offset_extended_sf: r4436 \(siph\) at cfa\+1360
+ DW_CFA_offset_extended_sf: r5640 \(hvien\) at cfa\+6176
+ DW_CFA_offset_extended_sf: r5641 \(hvictl\) at cfa\+6180
+ DW_CFA_offset_extended_sf: r5702 \(hviprio1\) at cfa\+6424
+ DW_CFA_offset_extended_sf: r5703 \(hviprio2\) at cfa\+6428
+ DW_CFA_offset_extended_sf: r4688 \(vsiselect\) at cfa\+2368
+ DW_CFA_offset_extended_sf: r4689 \(vsireg\) at cfa\+2372
+ DW_CFA_offset_extended_sf: r4700 \(vstopei\) at cfa\+2416
+ DW_CFA_offset_extended_sf: r7856 \(vstopi\) at cfa\+15040
+ DW_CFA_offset_extended_sf: r5651 \(hidelegh\) at cfa\+6220
+ DW_CFA_offset_extended_sf: r5656 \(hvienh\) at cfa\+6240
+ DW_CFA_offset_extended_sf: r5717 \(hviph\) at cfa\+6484
+ DW_CFA_offset_extended_sf: r5718 \(hviprio1h\) at cfa\+6488
+ DW_CFA_offset_extended_sf: r5719 \(hviprio2h\) at cfa\+6492
+ DW_CFA_offset_extended_sf: r4628 \(vsieh\) at cfa\+2128
+ DW_CFA_offset_extended_sf: r4692 \(vsiph\) at cfa\+2384
DW_CFA_offset_extended_sf: r7584 \(scountovf\) at cfa\+13952
DW_CFA_offset_extended_sf: r5923 \(mhpmevent3h\) at cfa\+7308
DW_CFA_offset_extended_sf: r5924 \(mhpmevent4h\) at cfa\+7312
@@ -1,6 +1,8 @@
# Check that CFI directives can accept all of the CSR names (including
# aliases). The results for this test also ensures that the DWARF
# register numbers for the CSRs shouldn't change.
+# The register numbers are specified to be CSR-ID + 4096 (see psABI spec).
+# The CFI offsets in this file are CSR-ID x 4.
.text
.global _start
@@ -307,6 +309,18 @@ _start:
.cfi_offset vstval, 2316
.cfi_offset vsip, 2320
.cfi_offset vsatp, 2560
+ # Smaia extension
+ .cfi_offset miselect, 3392
+ .cfi_offset mireg, 3396
+ .cfi_offset mtopei, 3440
+ .cfi_offset mtopi, 16064
+ .cfi_offset mvien, 3104
+ .cfi_offset mvip, 3108
+ .cfi_offset midelegh, 3148
+ .cfi_offset mieh, 3152
+ .cfi_offset mvienh, 3168
+ .cfi_offset mviph, 3172
+ .cfi_offset miph, 3408
# Smstateen extension
.cfi_offset mstateen0, 3120
.cfi_offset mstateen1, 3124
@@ -328,6 +342,28 @@ _start:
.cfi_offset hstateen1h, 6260
.cfi_offset hstateen2h, 6264
.cfi_offset hstateen3h, 6268
+ # Ssaia extension
+ .cfi_offset siselect, 1344
+ .cfi_offset sireg, 1348
+ .cfi_offset stopei, 1392
+ .cfi_offset stopi, 14016
+ .cfi_offset sieh, 1104
+ .cfi_offset siph, 1360
+ .cfi_offset hvien, 6176
+ .cfi_offset hvictl, 6180
+ .cfi_offset hviprio1, 6424
+ .cfi_offset hviprio2, 6428
+ .cfi_offset vsiselect, 2368
+ .cfi_offset vsireg, 2372
+ .cfi_offset vstopei, 2416
+ .cfi_offset vstopi, 15040
+ .cfi_offset hidelegh, 6220
+ .cfi_offset hvienh, 6240
+ .cfi_offset hviph, 6484
+ .cfi_offset hviprio1h, 6488
+ .cfi_offset hviprio2h, 6492
+ .cfi_offset vsieh, 2128
+ .cfi_offset vsiph, 2384
# Sscofpmf extension
.cfi_offset scountovf, 13952
.cfi_offset mhpmevent3h, 7308
@@ -601,6 +601,28 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
[ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
[ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
+[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
+[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
+[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
+[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
+[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
+[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
+[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
+[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
+[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
+[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
+[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
+[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
+[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
+[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
+[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
+[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
+[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
[ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
[ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
[ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
@@ -641,6 +663,48 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
[ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
[ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
+[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
+[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
+[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
+[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
+[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
+[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
+[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
+[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
+[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
+[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
+[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
+[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
+[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
+[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
+[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
+[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
+[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
+[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
+[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
+[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
+[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
+[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
+[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
+[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
+[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
+[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
+[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
+[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
+[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
+[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
+[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
+[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
[ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf
[ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1
[ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h
@@ -411,6 +411,39 @@
.*Warning: invalid CSR `vsip', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: read-only CSR is written `csrw mtopi,a1'
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
@@ -483,6 +516,98 @@
.*Warning: invalid CSR `hstateen3h', needs rv32i extension
.*Warning: invalid CSR `hstateen3h', needs `h' extension
.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw stopi,a1'
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw vstopi,a1'
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: read-only CSR is written `csrw scountovf,a1'
@@ -601,6 +601,28 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
[ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
[ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
+[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
+[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
+[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
+[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
+[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
+[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
+[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
+[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
+[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
+[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
+[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
+[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
+[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
+[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
+[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
+[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
+[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
[ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
[ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
[ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
@@ -641,6 +663,48 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
[ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
[ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
+[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
+[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
+[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
+[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
+[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
+[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
+[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
+[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
+[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
+[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
+[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
+[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
+[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
+[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
+[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
+[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
+[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
+[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
+[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
+[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
+[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
+[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
+[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
+[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
+[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
+[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
+[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
+[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
+[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
+[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
+[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
+[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
[ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf
[ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1
[ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h
@@ -409,6 +409,39 @@
.*Warning: invalid CSR `vsip', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: read-only CSR is written `csrw mtopi,a1'
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
@@ -481,6 +514,98 @@
.*Warning: invalid CSR `hstateen3h', needs rv32i extension
.*Warning: invalid CSR `hstateen3h', needs `h' extension
.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw stopi,a1'
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw vstopi,a1'
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: read-only CSR is written `csrw scountovf,a1'
@@ -601,6 +601,28 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
[ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
[ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
+[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
+[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
+[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
+[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
+[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
+[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
+[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
+[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
+[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
+[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
+[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
+[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
+[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
+[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
+[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
+[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
+[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
[ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
[ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
[ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
@@ -641,6 +663,48 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
[ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
[ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
+[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
+[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
+[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
+[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
+[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
+[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
+[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
+[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
+[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
+[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
+[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
+[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
+[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
+[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
+[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
+[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
+[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
+[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
+[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
+[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
+[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
+[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
+[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
+[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
+[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
+[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
+[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
+[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
+[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
+[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
+[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
+[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
[ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf
[ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1
[ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h
@@ -271,6 +271,39 @@
.*Warning: invalid CSR `vsip', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: read-only CSR is written `csrw mtopi,a1'
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
@@ -343,6 +376,98 @@
.*Warning: invalid CSR `hstateen3h', needs rv32i extension
.*Warning: invalid CSR `hstateen3h', needs `h' extension
.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw stopi,a1'
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw vstopi,a1'
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: read-only CSR is written `csrw scountovf,a1'
@@ -601,6 +601,28 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
[ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
[ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,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]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
+[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
+[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
+[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
+[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
+[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
+[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
+[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
+[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
+[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
+[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
+[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
+[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
+[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
+[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
+[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
+[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
+[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
[ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
[ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
[ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
@@ -641,6 +663,48 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
[ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
[ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,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]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
+[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
+[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
+[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
+[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
+[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
+[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
+[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
+[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
+[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
+[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
+[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
+[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
+[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
+[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
+[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,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]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
+[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
+[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
+[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
+[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
+[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
+[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
+[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
+[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
+[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
+[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
+[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
+[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
+[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
+[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
+[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
+[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
+[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
[ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf
[ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1
[ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h
@@ -461,6 +461,39 @@
.*Warning: invalid CSR `vsip', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `miselect', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mireg', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Warning: read-only CSR is written `csrw mtopi,a1'
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Warning: invalid CSR `miph', needs `smaia' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
@@ -533,6 +566,98 @@
.*Warning: invalid CSR `hstateen3h', needs rv32i extension
.*Warning: invalid CSR `hstateen3h', needs `h' extension
.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `siselect', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `sireg', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw stopi,a1'
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Warning: invalid CSR `vsiselect', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Warning: invalid CSR `vsireg', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Warning: read-only CSR is written `csrw vstopi,a1'
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
.*Warning: read-only CSR is written `csrw scountovf,a1'
@@ -337,6 +337,19 @@
csr vsip
csr vsatp
+ # Smaia
+ csr miselect
+ csr mireg
+ csr mtopei
+ csr mtopi
+ csr mvien
+ csr mvip
+ csr midelegh
+ csr mieh
+ csr mvienh
+ csr mviph
+ csr miph
+
# Smstateen/Ssstateen extensions
csr mstateen0
csr mstateen1
@@ -359,6 +372,29 @@
csr hstateen2h
csr hstateen3h
+ # Ssaia
+ csr siselect
+ csr sireg
+ csr stopei
+ csr stopi
+ csr sieh
+ csr siph
+ csr hvien
+ csr hvictl
+ csr hviprio1
+ csr hviprio2
+ csr vsiselect
+ csr vsireg
+ csr vstopei
+ csr vstopi
+ csr hidelegh
+ csr hvienh
+ csr hviph
+ csr hviprio1h
+ csr hviprio2h
+ csr vsieh
+ csr vsiph
+
# Sscofpmf extension
csr scountovf
csr mhpmevent3h
@@ -2661,6 +2661,18 @@
#define CSR_UIP 0x44
#define CSR_SEDELEG 0x102
#define CSR_SIDELEG 0x103
+/* Smaia extension */
+#define CSR_MISELECT 0x350
+#define CSR_MIREG 0x351
+#define CSR_MTOPEI 0x35c
+#define CSR_MTOPI 0xfb0
+#define CSR_MVIEN 0x308
+#define CSR_MVIP 0x309
+#define CSR_MIDELEGH 0x313
+#define CSR_MIEH 0x314
+#define CSR_MVIENH 0x318
+#define CSR_MVIPH 0x319
+#define CSR_MIPH 0x354
/* Smstateen extension */
#define CSR_MSTATEEN0 0x30c
#define CSR_MSTATEEN1 0x30d
@@ -2682,6 +2694,28 @@
#define CSR_HSTATEEN1H 0x61d
#define CSR_HSTATEEN2H 0x61e
#define CSR_HSTATEEN3H 0x61f
+/* Ssaia extension */
+#define CSR_SISELECT 0x150
+#define CSR_SIREG 0x151
+#define CSR_STOPEI 0x15c
+#define CSR_STOPI 0xdb0
+#define CSR_SIEH 0x114
+#define CSR_SIPH 0x154
+#define CSR_HVIEN 0x608
+#define CSR_HVICTL 0x609
+#define CSR_HVIPRIO1 0x646
+#define CSR_HVIPRIO2 0x647
+#define CSR_VSISELECT 0x250
+#define CSR_VSIREG 0x251
+#define CSR_VSTOPEI 0x25c
+#define CSR_VSTOPI 0xeb0
+#define CSR_HIDELEGH 0x613
+#define CSR_HVIENH 0x618
+#define CSR_HVIPH 0x655
+#define CSR_HVIPRIO1H 0x656
+#define CSR_HVIPRIO2H 0x657
+#define CSR_VSIEH 0x214
+#define CSR_VSIPH 0x254
/* Sscofpmf extension */
#define CSR_SCOUNTOVF 0xda0
#define CSR_MHPMEVENT3H 0x723
@@ -3504,6 +3538,18 @@ DECLARE_CSR(vscause, CSR_VSCAUSE, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_C
DECLARE_CSR(vstval, CSR_VSTVAL, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
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(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)
+DECLARE_CSR(mvip, CSR_MVIP, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(midelegh, CSR_MIDELEGH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(mieh, CSR_MIEH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+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)
/* Smstateen/Ssstateen extensions. */
DECLARE_CSR(mstateen0, CSR_MSTATEEN0, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(mstateen1, CSR_MSTATEEN1, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
@@ -3525,6 +3571,28 @@ DECLARE_CSR(hstateen0h, CSR_HSTATEEN0H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_
DECLARE_CSR(hstateen1h, CSR_HSTATEEN1H, CSR_CLASS_SSSTATEEN_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
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(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)
+DECLARE_CSR(siph, CSR_SIPH, CSR_CLASS_SSAIA_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(hvien, CSR_HVIEN, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+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(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)
+DECLARE_CSR(hvienh, CSR_HVIENH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(hviph, CSR_HVIPH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+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)
/* 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)