[PATCH] add missing extension info to 'invalid CSR' error
Patrick O'Neill
patrick@rivosinc.com
Fri Jan 21 17:22:00 GMT 2022
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".
Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
---
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
More information about the Binutils
mailing list