RISC-V: Fix vector CSR requirements

Vector CSRs are also required on smaller vector subsets.

Not only that the most of vector CSRs are general purpose (and must be
accessible for every vector subsets), current minimum vector subset 'Zve32x'
requires fixed point arithmetic, making remaining non-general purpose
(fixed point arithmetic only) CSRs mandatory for such subsets.

So, those CSRs must be accessible from 'Zve32x', not just from 'V'.
This commit fixes this issue which caused CSR accessibility warnings.

gas/ChangeLog:

	* config/tc-riscv.c (riscv_csr_address): Change vector CSR
	requirement from 'V' to 'Zve32x'.
	* testsuite/gas/riscv/csr-version-1p9p1.l: Change vector CSR
	requirement from 'V' to 'Zve32x'.
	* testsuite/gas/riscv/csr-version-1p10.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p11.l: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.l: Likewise.
This commit is contained in:
Tsukasa OI
2022-09-05 07:54:51 +00:00
parent 58448ad29c
commit 1daabcc746
5 changed files with 57 additions and 57 deletions

View File

@@ -935,7 +935,7 @@ riscv_csr_address (const char *csr_name,
extension = "zkr";
break;
case CSR_CLASS_V:
extension = "v";
extension = "zve32x";
break;
case CSR_CLASS_SMSTATEEN:
case CSR_CLASS_SMSTATEEN_AND_H:

View File

@@ -652,20 +652,20 @@
.*Warning: invalid CSR `fcsr', needs `f' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vl,a1'
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vtype,a1'
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vlenb,a1'

View File

@@ -650,20 +650,20 @@
.*Warning: invalid CSR `fcsr', needs `f' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vl,a1'
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vtype,a1'
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vlenb,a1'

View File

@@ -532,20 +532,20 @@
.*Warning: invalid CSR `fcsr', needs `f' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vl,a1'
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vtype,a1'
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vlenb,a1'

View File

@@ -678,20 +678,20 @@
.*Warning: invalid CSR `fcsr', needs `f' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `seed', needs `zkr' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vstart', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxsat', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vxrm', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vcsr', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vl', needs `v' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vstart', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxsat', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vxrm', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vcsr', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: invalid CSR `vl', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vl,a1'
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `v' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: invalid CSR `vtype', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vtype,a1'
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `v' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: invalid CSR `vlenb', needs `zve32x' extension
.*Warning: read-only CSR is written `csrw vlenb,a1'