From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com [IPv6:2607:f8b0:4864:20::e34]) by sourceware.org (Postfix) with ESMTPS id 049493947407 for ; Wed, 23 Feb 2022 11:22:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 049493947407 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-vs1-xe34.google.com with SMTP id g21so2757440vsp.6 for ; Wed, 23 Feb 2022 03:22:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=dWzJczQUuYu8eMc6WUMet7zL2TRyQXaHbGVo6LIktxw=; b=S2GY97EhMa1rtTTncxGOGnhKZ3vuJLz1Qeg4Rz5R/Latu13t49mPmTMXibQc89YwoI EQpN03L3b24kN7U3bk+/KGM5XUqAYOMf6JKVXPZYKMjg5ELQkuOqY1veFOYoZqBPiT4Q g9Aq5US59IR3X4MKWE5HxeOrn/upXPgkQRQihlWdzgmfzMJsSIdT650cLNp1+Hn7mlS0 0uZ4/Ys4o38Okxqppa47/6uXKuMYHKTSGBs3V+GO/F2UG/xBtOIiAdHOcRMW+hxgExHx gSn1oWbL+SSLtbBBSVO74DzUG3lPfP9Nfqth9JNjwPMJfH5ujDknNaBRArcdAZgcFeeY CVjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dWzJczQUuYu8eMc6WUMet7zL2TRyQXaHbGVo6LIktxw=; b=kgQg99Nn5zzu+fNdkqlHwWVEERFoRcS8IPrGvtbiGs0i3oYSCB7tpg8okgSJrZTOuU GhtvRwgtLa6EiVv3E9C9Fh9JoTgquRQnSVk4Kg6t6229oKuPwzStyt1oC1UQIEsy5WJ1 Jt50dD+AeVxwGjFcmU+mwRbPtnRodmSj2KViFfcafrQMfLLquKH2NS2nwcEIJ8IBpD9M bJd58l8vLG4ppq5bkyP8g1I3z64cmW7NQ6cpaUKrVQHZBTmN3Mv73qvs2hhFh3BsyUyS t/02hRfFLQ9Mm/nzNABFlCOKk2Tg1lYtopfP+zFVVxPd45klv8E+vBuT36KQFNh9YFFL SjcA== X-Gm-Message-State: AOAM5300Rv7w8qUFLgfBCRo6RxqINEAZJrK8mhwVzpVBBIKIwKFxyhW+ jFOssg+J8cZp/S7C/dKREiE1h2MCxiU6t2V4PL7Gzg== X-Google-Smtp-Source: ABdhPJwNOrFNRnLNuLzsWxFlgCYUi+azyRlByIb+aDNosX7woEJ/7uwLiJVrzQkoRYqRjEwwsy063p6vRDG0fUTHVRM= X-Received: by 2002:a67:2d81:0:b0:31c:16d8:dcff with SMTP id t123-20020a672d81000000b0031c16d8dcffmr8891559vst.2.1645615339781; Wed, 23 Feb 2022 03:22:19 -0800 (PST) MIME-Version: 1.0 References: <20220121172200.2052299-1-patrick@rivosinc.com> In-Reply-To: <20220121172200.2052299-1-patrick@rivosinc.com> From: Nelson Chu Date: Wed, 23 Feb 2022 19:22:08 +0800 Message-ID: Subject: Re: [PATCH] add missing extension info to 'invalid CSR' error To: "Patrick O'Neill" Cc: Binutils , palmer@gcc.gnu.org, nelsonc1225@sourceware.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Feb 2022 11:22:27 -0000 Hi Patrick, On Sat, Jan 22, 2022 at 1:22 AM Patrick O'Neill wrote: > > PR 28733 > > Currently we report errors as "invalid CSR 'fscr' for the current ISA" > when the instruction isn't valid. > This patch expands that error message to include the missing extension > information. For example, now the error message would be "invalid CSR > 'fscr' for the current ISA, CSR 'fscr' needs 'f' extension". Looks good to me, thanks. But I get "needs 'i' extension" for the rv32-only CSRs when using rv64, I think the report "needs 'rv32i' extension" is better. Therefore, this patch is committed with the minor update. Thanks Nelson > Signed-off-by: Patrick O'Neill > --- > gas/config/tc-riscv.c | 22 +- > gas/testsuite/gas/riscv/csr-version-1p10.l | 312 ++++++++++---------- > gas/testsuite/gas/riscv/csr-version-1p11.l | 312 ++++++++++---------- > gas/testsuite/gas/riscv/csr-version-1p12.l | 312 ++++++++++---------- > gas/testsuite/gas/riscv/csr-version-1p9p1.l | 312 ++++++++++---------- > 5 files changed, 640 insertions(+), 630 deletions(-) > > diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c > index 390aaf1710b..ebad2e0b0a1 100644 > --- a/gas/config/tc-riscv.c > +++ b/gas/config/tc-riscv.c > @@ -884,25 +884,31 @@ riscv_csr_address (const char *csr_name, > enum riscv_csr_class csr_class = entry->csr_class; > bool need_check_version = true; > bool result = true; > + const char* extension = NULL; > > switch (csr_class) > { > case CSR_CLASS_I: > - result = riscv_subset_supports (&riscv_rps_as, "i"); > + extension = "i"; > + result = riscv_subset_supports (&riscv_rps_as, extension); > break; > case CSR_CLASS_I_32: > - result = (xlen == 32 && riscv_subset_supports (&riscv_rps_as, "i")); > + extension = "i"; > + result = (xlen == 32 && riscv_subset_supports (&riscv_rps_as, extension)); > break; > case CSR_CLASS_F: > - result = riscv_subset_supports (&riscv_rps_as, "f"); > + extension = "f"; > + result = riscv_subset_supports (&riscv_rps_as, extension); > need_check_version = false; > break; > case CSR_CLASS_ZKR: > - result = riscv_subset_supports (&riscv_rps_as, "zkr"); > + extension = "zkr"; > + result = riscv_subset_supports (&riscv_rps_as, extension); > need_check_version = false; > break; > case CSR_CLASS_V: > - result = riscv_subset_supports (&riscv_rps_as, "v"); > + extension = "v"; > + result = riscv_subset_supports (&riscv_rps_as, extension); > need_check_version = false; > break; > case CSR_CLASS_DEBUG: > @@ -913,7 +919,11 @@ riscv_csr_address (const char *csr_name, > } > > if (riscv_opts.csr_check && !result) > - as_warn (_("invalid CSR `%s' for the current ISA"), csr_name); > + { > + assert(extension != NULL); > + as_warn (_("invalid CSR `%s' for the current ISA, CSR `%s' needs " > + "`%s' extension"), csr_name, csr_name, extension); > + } > > while (entry != NULL) > { > diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/gas/riscv/csr-version-1p10.l > index ed6773e637c..4037cb2aca6 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p10.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p10.l > @@ -31,172 +31,172 @@ > .*Warning: read-only CSR is written `csrw hpmcounter29,a1' > .*Warning: read-only CSR is written `csrw hpmcounter30,a1' > .*Warning: read-only CSR is written `csrw hpmcounter31,a1' > -.*Warning: invalid CSR `cycleh' for the current ISA > -.*Warning: invalid CSR `cycleh' for the current ISA > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > .*Warning: read-only CSR is written `csrw cycleh,a1' > -.*Warning: invalid CSR `timeh' for the current ISA > -.*Warning: invalid CSR `timeh' for the current ISA > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > .*Warning: read-only CSR is written `csrw timeh,a1' > -.*Warning: invalid CSR `instreth' for the current ISA > -.*Warning: invalid CSR `instreth' for the current ISA > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > .*Warning: read-only CSR is written `csrw instreth,a1' > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter3h,a1' > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter4h,a1' > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter5h,a1' > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter6h,a1' > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter7h,a1' > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter8h,a1' > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter9h,a1' > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter10h,a1' > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter11h,a1' > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter12h,a1' > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter13h,a1' > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter14h,a1' > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter15h,a1' > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter16h,a1' > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter17h,a1' > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter18h,a1' > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter19h,a1' > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter20h,a1' > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter21h,a1' > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter22h,a1' > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter23h,a1' > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter24h,a1' > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter25h,a1' > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter26h,a1' > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter27h,a1' > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter28h,a1' > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter29h,a1' > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter30h,a1' > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter31h,a1' > .*Warning: read-only CSR is written `csrw mvendorid,a1' > .*Warning: read-only CSR is written `csrw marchid,a1' > .*Warning: read-only CSR is written `csrw mimpid,a1' > .*Warning: read-only CSR is written `csrw mhartid,a1' > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > .*Warning: invalid CSR `mcountinhibit' for the privileged spec `1.10' > .*Warning: invalid CSR `mcountinhibit' for the privileged spec `1.10' > .*Warning: invalid CSR `hstatus' for the privileged spec `1.10' > @@ -224,9 +224,9 @@ > .*Warning: read-only CSR is written `csrw hgeip,a1' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.10' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.10' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.10' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.10' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.10' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.10' > @@ -234,9 +234,9 @@ > .*Warning: invalid CSR `hcontext' for the privileged spec `1.10' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.10' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.10' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.10' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.10' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.10' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.10' > @@ -282,28 +282,28 @@ > .*Warning: invalid CSR `mscounteren' for the privileged spec `1.10' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.10' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.10' > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > .*Warning: read-only CSR is written `csrw vl,a1' > -.*Warning: invalid CSR `vtype' for the current ISA > -.*Warning: invalid CSR `vtype' for the current ISA > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > .*Warning: read-only CSR is written `csrw vtype,a1' > -.*Warning: invalid CSR `vlenb' for the current ISA > -.*Warning: invalid CSR `vlenb' for the current ISA > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > .*Warning: read-only CSR is written `csrw vlenb,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/gas/riscv/csr-version-1p11.l > index 44d9611fe49..2806f1c9523 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p11.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p11.l > @@ -31,172 +31,172 @@ > .*Warning: read-only CSR is written `csrw hpmcounter29,a1' > .*Warning: read-only CSR is written `csrw hpmcounter30,a1' > .*Warning: read-only CSR is written `csrw hpmcounter31,a1' > -.*Warning: invalid CSR `cycleh' for the current ISA > -.*Warning: invalid CSR `cycleh' for the current ISA > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > .*Warning: read-only CSR is written `csrw cycleh,a1' > -.*Warning: invalid CSR `timeh' for the current ISA > -.*Warning: invalid CSR `timeh' for the current ISA > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > .*Warning: read-only CSR is written `csrw timeh,a1' > -.*Warning: invalid CSR `instreth' for the current ISA > -.*Warning: invalid CSR `instreth' for the current ISA > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > .*Warning: read-only CSR is written `csrw instreth,a1' > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter3h,a1' > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter4h,a1' > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter5h,a1' > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter6h,a1' > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter7h,a1' > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter8h,a1' > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter9h,a1' > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter10h,a1' > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter11h,a1' > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter12h,a1' > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter13h,a1' > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter14h,a1' > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter15h,a1' > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter16h,a1' > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter17h,a1' > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter18h,a1' > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter19h,a1' > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter20h,a1' > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter21h,a1' > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter22h,a1' > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter23h,a1' > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter24h,a1' > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter25h,a1' > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter26h,a1' > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter27h,a1' > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter28h,a1' > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter29h,a1' > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter30h,a1' > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter31h,a1' > .*Warning: read-only CSR is written `csrw mvendorid,a1' > .*Warning: read-only CSR is written `csrw marchid,a1' > .*Warning: read-only CSR is written `csrw mimpid,a1' > .*Warning: read-only CSR is written `csrw mhartid,a1' > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > .*Warning: invalid CSR `hstatus' for the privileged spec `1.11' > .*Warning: invalid CSR `hstatus' for the privileged spec `1.11' > .*Warning: invalid CSR `hedeleg' for the privileged spec `1.11' > @@ -222,9 +222,9 @@ > .*Warning: read-only CSR is written `csrw hgeip,a1' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.11' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.11' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.11' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.11' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.11' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.11' > @@ -232,9 +232,9 @@ > .*Warning: invalid CSR `hcontext' for the privileged spec `1.11' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.11' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.11' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.11' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.11' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.11' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.11' > @@ -280,28 +280,28 @@ > .*Warning: invalid CSR `mscounteren' for the privileged spec `1.11' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.11' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.11' > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > .*Warning: read-only CSR is written `csrw vl,a1' > -.*Warning: invalid CSR `vtype' for the current ISA > -.*Warning: invalid CSR `vtype' for the current ISA > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > .*Warning: read-only CSR is written `csrw vtype,a1' > -.*Warning: invalid CSR `vlenb' for the current ISA > -.*Warning: invalid CSR `vlenb' for the current ISA > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > .*Warning: read-only CSR is written `csrw vlenb,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/gas/riscv/csr-version-1p12.l > index 237cb8a1699..c9e1393e6b8 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p12.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p12.l > @@ -31,177 +31,177 @@ > .*Warning: read-only CSR is written `csrw hpmcounter29,a1' > .*Warning: read-only CSR is written `csrw hpmcounter30,a1' > .*Warning: read-only CSR is written `csrw hpmcounter31,a1' > -.*Warning: invalid CSR `cycleh' for the current ISA > -.*Warning: invalid CSR `cycleh' for the current ISA > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > .*Warning: read-only CSR is written `csrw cycleh,a1' > -.*Warning: invalid CSR `timeh' for the current ISA > -.*Warning: invalid CSR `timeh' for the current ISA > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > .*Warning: read-only CSR is written `csrw timeh,a1' > -.*Warning: invalid CSR `instreth' for the current ISA > -.*Warning: invalid CSR `instreth' for the current ISA > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > .*Warning: read-only CSR is written `csrw instreth,a1' > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter3h,a1' > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter4h,a1' > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter5h,a1' > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter6h,a1' > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter7h,a1' > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter8h,a1' > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter9h,a1' > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter10h,a1' > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter11h,a1' > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter12h,a1' > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter13h,a1' > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter14h,a1' > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter15h,a1' > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter16h,a1' > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter17h,a1' > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter18h,a1' > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter19h,a1' > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter20h,a1' > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter21h,a1' > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter22h,a1' > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter23h,a1' > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter24h,a1' > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter25h,a1' > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter26h,a1' > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter27h,a1' > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter28h,a1' > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter29h,a1' > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter30h,a1' > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter31h,a1' > .*Warning: read-only CSR is written `csrw mvendorid,a1' > .*Warning: read-only CSR is written `csrw marchid,a1' > .*Warning: read-only CSR is written `csrw mimpid,a1' > .*Warning: read-only CSR is written `csrw mhartid,a1' > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > .*Warning: read-only CSR is written `csrw hgeip,a1' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > -.*Warning: invalid CSR `henvcfgh' for the current ISA > -.*Warning: invalid CSR `htimedeltah' for the current ISA > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.12' > .*Warning: invalid CSR `ubadaddr' for the privileged spec `1.12' > .*Warning: invalid CSR `sbadaddr' for the privileged spec `1.12' > @@ -228,28 +228,28 @@ > .*Warning: invalid CSR `mscounteren' for the privileged spec `1.12' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.12' > .*Warning: invalid CSR `mhcounteren' for the privileged spec `1.12' > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > .*Warning: read-only CSR is written `csrw vl,a1' > -.*Warning: invalid CSR `vtype' for the current ISA > -.*Warning: invalid CSR `vtype' for the current ISA > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > .*Warning: read-only CSR is written `csrw vtype,a1' > -.*Warning: invalid CSR `vlenb' for the current ISA > -.*Warning: invalid CSR `vlenb' for the current ISA > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > .*Warning: read-only CSR is written `csrw vlenb,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.l b/gas/testsuite/gas/riscv/csr-version-1p9p1.l > index 00d46f509de..d29a4d9da99 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.l > @@ -33,101 +33,101 @@ > .*Warning: read-only CSR is written `csrw hpmcounter29,a1' > .*Warning: read-only CSR is written `csrw hpmcounter30,a1' > .*Warning: read-only CSR is written `csrw hpmcounter31,a1' > -.*Warning: invalid CSR `cycleh' for the current ISA > -.*Warning: invalid CSR `cycleh' for the current ISA > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > +.*Warning: invalid CSR `cycleh' for the current ISA, CSR `cycleh' needs `i' extension > .*Warning: read-only CSR is written `csrw cycleh,a1' > -.*Warning: invalid CSR `timeh' for the current ISA > -.*Warning: invalid CSR `timeh' for the current ISA > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > +.*Warning: invalid CSR `timeh' for the current ISA, CSR `timeh' needs `i' extension > .*Warning: read-only CSR is written `csrw timeh,a1' > -.*Warning: invalid CSR `instreth' for the current ISA > -.*Warning: invalid CSR `instreth' for the current ISA > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > +.*Warning: invalid CSR `instreth' for the current ISA, CSR `instreth' needs `i' extension > .*Warning: read-only CSR is written `csrw instreth,a1' > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > -.*Warning: invalid CSR `hpmcounter3h' for the current ISA > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter3h' for the current ISA, CSR `hpmcounter3h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter3h,a1' > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > -.*Warning: invalid CSR `hpmcounter4h' for the current ISA > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter4h' for the current ISA, CSR `hpmcounter4h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter4h,a1' > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > -.*Warning: invalid CSR `hpmcounter5h' for the current ISA > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter5h' for the current ISA, CSR `hpmcounter5h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter5h,a1' > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > -.*Warning: invalid CSR `hpmcounter6h' for the current ISA > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter6h' for the current ISA, CSR `hpmcounter6h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter6h,a1' > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > -.*Warning: invalid CSR `hpmcounter7h' for the current ISA > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter7h' for the current ISA, CSR `hpmcounter7h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter7h,a1' > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > -.*Warning: invalid CSR `hpmcounter8h' for the current ISA > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter8h' for the current ISA, CSR `hpmcounter8h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter8h,a1' > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > -.*Warning: invalid CSR `hpmcounter9h' for the current ISA > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter9h' for the current ISA, CSR `hpmcounter9h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter9h,a1' > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > -.*Warning: invalid CSR `hpmcounter10h' for the current ISA > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter10h' for the current ISA, CSR `hpmcounter10h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter10h,a1' > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > -.*Warning: invalid CSR `hpmcounter11h' for the current ISA > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter11h' for the current ISA, CSR `hpmcounter11h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter11h,a1' > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > -.*Warning: invalid CSR `hpmcounter12h' for the current ISA > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter12h' for the current ISA, CSR `hpmcounter12h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter12h,a1' > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > -.*Warning: invalid CSR `hpmcounter13h' for the current ISA > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter13h' for the current ISA, CSR `hpmcounter13h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter13h,a1' > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > -.*Warning: invalid CSR `hpmcounter14h' for the current ISA > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter14h' for the current ISA, CSR `hpmcounter14h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter14h,a1' > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > -.*Warning: invalid CSR `hpmcounter15h' for the current ISA > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter15h' for the current ISA, CSR `hpmcounter15h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter15h,a1' > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > -.*Warning: invalid CSR `hpmcounter16h' for the current ISA > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter16h' for the current ISA, CSR `hpmcounter16h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter16h,a1' > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > -.*Warning: invalid CSR `hpmcounter17h' for the current ISA > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter17h' for the current ISA, CSR `hpmcounter17h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter17h,a1' > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > -.*Warning: invalid CSR `hpmcounter18h' for the current ISA > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter18h' for the current ISA, CSR `hpmcounter18h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter18h,a1' > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > -.*Warning: invalid CSR `hpmcounter19h' for the current ISA > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter19h' for the current ISA, CSR `hpmcounter19h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter19h,a1' > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > -.*Warning: invalid CSR `hpmcounter20h' for the current ISA > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter20h' for the current ISA, CSR `hpmcounter20h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter20h,a1' > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > -.*Warning: invalid CSR `hpmcounter21h' for the current ISA > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter21h' for the current ISA, CSR `hpmcounter21h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter21h,a1' > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > -.*Warning: invalid CSR `hpmcounter22h' for the current ISA > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter22h' for the current ISA, CSR `hpmcounter22h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter22h,a1' > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > -.*Warning: invalid CSR `hpmcounter23h' for the current ISA > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter23h' for the current ISA, CSR `hpmcounter23h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter23h,a1' > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > -.*Warning: invalid CSR `hpmcounter24h' for the current ISA > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter24h' for the current ISA, CSR `hpmcounter24h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter24h,a1' > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > -.*Warning: invalid CSR `hpmcounter25h' for the current ISA > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter25h' for the current ISA, CSR `hpmcounter25h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter25h,a1' > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > -.*Warning: invalid CSR `hpmcounter26h' for the current ISA > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter26h' for the current ISA, CSR `hpmcounter26h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter26h,a1' > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > -.*Warning: invalid CSR `hpmcounter27h' for the current ISA > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter27h' for the current ISA, CSR `hpmcounter27h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter27h,a1' > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > -.*Warning: invalid CSR `hpmcounter28h' for the current ISA > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter28h' for the current ISA, CSR `hpmcounter28h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter28h,a1' > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > -.*Warning: invalid CSR `hpmcounter29h' for the current ISA > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter29h' for the current ISA, CSR `hpmcounter29h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter29h,a1' > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > -.*Warning: invalid CSR `hpmcounter30h' for the current ISA > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter30h' for the current ISA, CSR `hpmcounter30h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter30h,a1' > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > -.*Warning: invalid CSR `hpmcounter31h' for the current ISA > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `hpmcounter31h' for the current ISA, CSR `hpmcounter31h' needs `i' extension > .*Warning: read-only CSR is written `csrw hpmcounter31h,a1' > .*Warning: invalid CSR `scounteren' for the privileged spec `1.9.1' > .*Warning: invalid CSR `scounteren' for the privileged spec `1.9.1' > @@ -145,15 +145,15 @@ > .*Warning: invalid CSR `mtval' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpcfg0' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpcfg0' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > .*Warning: invalid CSR `pmpcfg1' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `pmpcfg1' for the current ISA > +.*Warning: invalid CSR `pmpcfg1' for the current ISA, CSR `pmpcfg1' needs `i' extension > .*Warning: invalid CSR `pmpcfg1' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpcfg2' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpcfg2' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > .*Warning: invalid CSR `pmpcfg3' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `pmpcfg3' for the current ISA > +.*Warning: invalid CSR `pmpcfg3' for the current ISA, CSR `pmpcfg3' needs `i' extension > .*Warning: invalid CSR `pmpcfg3' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpaddr0' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpaddr0' for the privileged spec `1.9.1' > @@ -187,68 +187,68 @@ > .*Warning: invalid CSR `pmpaddr14' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpaddr15' for the privileged spec `1.9.1' > .*Warning: invalid CSR `pmpaddr15' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `mcycleh' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `minstreth' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter3h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter4h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter5h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter6h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter7h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter8h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter9h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter10h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter11h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter12h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter13h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter14h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter15h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter16h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter17h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter18h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter19h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter20h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter21h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter22h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter23h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter24h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter25h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter26h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter27h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter28h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter29h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter30h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > -.*Warning: invalid CSR `mhpmcounter31h' for the current ISA > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `mcycleh' for the current ISA, CSR `mcycleh' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `minstreth' for the current ISA, CSR `minstreth' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter3h' for the current ISA, CSR `mhpmcounter3h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter4h' for the current ISA, CSR `mhpmcounter4h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter5h' for the current ISA, CSR `mhpmcounter5h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter6h' for the current ISA, CSR `mhpmcounter6h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter7h' for the current ISA, CSR `mhpmcounter7h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter8h' for the current ISA, CSR `mhpmcounter8h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter9h' for the current ISA, CSR `mhpmcounter9h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter10h' for the current ISA, CSR `mhpmcounter10h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter11h' for the current ISA, CSR `mhpmcounter11h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter12h' for the current ISA, CSR `mhpmcounter12h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter13h' for the current ISA, CSR `mhpmcounter13h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter14h' for the current ISA, CSR `mhpmcounter14h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter15h' for the current ISA, CSR `mhpmcounter15h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter16h' for the current ISA, CSR `mhpmcounter16h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter17h' for the current ISA, CSR `mhpmcounter17h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter18h' for the current ISA, CSR `mhpmcounter18h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter19h' for the current ISA, CSR `mhpmcounter19h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter20h' for the current ISA, CSR `mhpmcounter20h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter21h' for the current ISA, CSR `mhpmcounter21h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter22h' for the current ISA, CSR `mhpmcounter22h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter23h' for the current ISA, CSR `mhpmcounter23h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter24h' for the current ISA, CSR `mhpmcounter24h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter25h' for the current ISA, CSR `mhpmcounter25h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter26h' for the current ISA, CSR `mhpmcounter26h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter27h' for the current ISA, CSR `mhpmcounter27h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter28h' for the current ISA, CSR `mhpmcounter28h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter29h' for the current ISA, CSR `mhpmcounter29h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter30h' for the current ISA, CSR `mhpmcounter30h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > +.*Warning: invalid CSR `mhpmcounter31h' for the current ISA, CSR `mhpmcounter31h' needs `i' extension > .*Warning: invalid CSR `mcountinhibit' for the privileged spec `1.9.1' > .*Warning: invalid CSR `mcountinhibit' for the privileged spec `1.9.1' > .*Warning: invalid CSR `hstatus' for the privileged spec `1.9.1' > @@ -276,9 +276,9 @@ > .*Warning: read-only CSR is written `csrw hgeip,a1' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.9.1' > .*Warning: invalid CSR `henvcfg' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `henvcfgh' for the current ISA > +.*Warning: invalid CSR `henvcfgh' for the current ISA, CSR `henvcfgh' needs `i' extension > .*Warning: invalid CSR `henvcfgh' for the privileged spec `1.9.1' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.9.1' > .*Warning: invalid CSR `hgatp' for the privileged spec `1.9.1' > @@ -286,9 +286,9 @@ > .*Warning: invalid CSR `hcontext' for the privileged spec `1.9.1' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.9.1' > .*Warning: invalid CSR `htimedelta' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `htimedeltah' for the current ISA > +.*Warning: invalid CSR `htimedeltah' for the current ISA, CSR `htimedeltah' needs `i' extension > .*Warning: invalid CSR `htimedeltah' for the privileged spec `1.9.1' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.9.1' > .*Warning: invalid CSR `vsstatus' for the privileged spec `1.9.1' > @@ -308,28 +308,28 @@ > .*Warning: invalid CSR `vsip' for the privileged spec `1.9.1' > .*Warning: invalid CSR `vsatp' for the privileged spec `1.9.1' > .*Warning: invalid CSR `vsatp' for the privileged spec `1.9.1' > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `fflags' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `frm' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `fcsr' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `seed' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vstart' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxsat' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vxrm' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vcsr' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > -.*Warning: invalid CSR `vl' for the current ISA > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `fflags' for the current ISA, CSR `fflags' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `frm' for the current ISA, CSR `frm' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `fcsr' for the current ISA, CSR `fcsr' needs `f' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `seed' for the current ISA, CSR `seed' needs `zkr' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vstart' for the current ISA, CSR `vstart' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxsat' for the current ISA, CSR `vxsat' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vxrm' for the current ISA, CSR `vxrm' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vcsr' for the current ISA, CSR `vcsr' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > +.*Warning: invalid CSR `vl' for the current ISA, CSR `vl' needs `v' extension > .*Warning: read-only CSR is written `csrw vl,a1' > -.*Warning: invalid CSR `vtype' for the current ISA > -.*Warning: invalid CSR `vtype' for the current ISA > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > +.*Warning: invalid CSR `vtype' for the current ISA, CSR `vtype' needs `v' extension > .*Warning: read-only CSR is written `csrw vtype,a1' > -.*Warning: invalid CSR `vlenb' for the current ISA > -.*Warning: invalid CSR `vlenb' for the current ISA > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > +.*Warning: invalid CSR `vlenb' for the current ISA, CSR `vlenb' needs `v' extension > .*Warning: read-only CSR is written `csrw vlenb,a1' > -- > 2.25.1 >