From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by sourceware.org (Postfix) with ESMTPS id 6B1A73858D20 for ; Tue, 22 Nov 2022 11:09:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B1A73858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-ej1-x629.google.com with SMTP id gv23so34976671ejb.3 for ; Tue, 22 Nov 2022 03:09:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kEOMqLlliVxsHy2tG29qIBv4LfDmm3pNBmFDOYZoYdU=; b=Isi3IxvoN6keh3Eluz52Ci4VwyWE6AeV7Tkq8uyYBJ3VBy1UKER0GnV6B4RYNYBQuC 2XGfmaStvtYAA0YQ55mtMOrMcRJ0mhovqNXNh68IZEDVUNF/ajKl/XpfB2Q0om2TMS4/ vJiRzpV0AGr4/ICuXOx6R7HMFt7kH6qFvsjF/UPGuk8fq2jGdPA7yydrqkgXjdaPatNr ej0ZccoFhV9Q+1r8yxh/p4hbdz4vRMSfPxBxRwlGAefHk8JMvW/EKLAfrKLSrV2dqk6k j2ToW7DpqZWoYy3cf+uxGs8dkKHO5RDAmsnKRhq5jdxNijYe5vh27ksRt28hDed8/pBF A61Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kEOMqLlliVxsHy2tG29qIBv4LfDmm3pNBmFDOYZoYdU=; b=S9YGFe4AfSpkXZTtZ5SARFOO9+e6O5JCN2lhOKGYwuiPThzsVrxA89pOytzOwQEKd5 cWYtP5bwCuRRHFZfVHKb/Rv2G/fpFicTl2CAUDMqZujeHqm+ruYevGFmkQwiql2rsc5A Y5tu7azs46D2grlguc+OncRx8UNEcwa0zZGqdn1aK+zXI1sY9OPaIKJVTtjpgq68He2T /FHgnKQuATOvVTpTtM6X/3pD78hbNlTbI9aO6pBlv2zlEjD+9OxDrgya2sjwrNZOSZoB yyw+lM6vgCEonadOoKB/SJCcX18FsX36JwaqhMAIPcifxEX2WzrAwAgxA4NNMxX7QFM/ blLQ== X-Gm-Message-State: ANoB5plfYJ6RWuILVD2y1nSf2RLDLeTYPIKhe15PXW+iR6W/4znzKUKW O/yafi+FlVDSJv4CUyyzhNBUq2Wma6RVXQ== X-Google-Smtp-Source: AA0mqf6xZwmqW9wEuVdmn+1cMVZJrnx27cxwEhnMZQ/K8/qRBqkMoCaHgCHYOfNQEcPlxC7uJ9eokg== X-Received: by 2002:a17:906:c30a:b0:7ae:e592:fce5 with SMTP id s10-20020a170906c30a00b007aee592fce5mr19076388ejz.390.1669115372603; Tue, 22 Nov 2022 03:09:32 -0800 (PST) Received: from beast.fritz.box (62-178-148-172.cable.dynamic.surfer.at. [62.178.148.172]) by smtp.gmail.com with ESMTPSA id dy16-20020a05640231f000b004678b543163sm6355206edb.0.2022.11.22.03.09.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Nov 2022 03:09:31 -0800 (PST) From: Christoph Muellner To: binutils@sourceware.org, Nelson Chu , Andrew Waterman , Palmer Dabbelt , Jim Wilson , Philipp Tomsich , Tsukasa OI Cc: =?UTF-8?q?Christoph=20M=C3=BCllner?= Subject: [PATCH v3] riscv: Add AIA extension support (Smaia, Ssaia) Date: Tue, 22 Nov 2022 12:09:27 +0100 Message-Id: <20221122110927.2328582-1-christoph.muellner@vrull.eu> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_MANYTO,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Christoph Müllner 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 --- 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