[RISCV] Don't make it an error have Zve* and V at the same time.
authorCraig Topper <craig.topper@sifive.com>
Tue, 1 Feb 2022 07:01:26 +0000 (23:01 -0800)
committerCraig Topper <craig.topper@sifive.com>
Tue, 1 Feb 2022 15:16:20 +0000 (07:16 -0800)
This should not be an error. V is a valid implementation of Zve.

Spec clarified here
https://github.com/riscv/riscv-v-spec/commit/9a877e8553362ff03a9b22b98e321b59aff50398

Differential Revision: https://reviews.llvm.org/D118679

llvm/lib/Support/RISCVISAInfo.cpp

index 8cdce75..2b3395b 100644 (file)
@@ -723,12 +723,6 @@ Error RISCVISAInfo::checkDependency() {
         errc::invalid_argument,
         "zvl*b requires v or zve* extension to also be specified");
 
-  // Could not implement Zve* extension and the V extension at the same time.
-  if (HasZve32x && HasV)
-    return createStringError(
-        errc::invalid_argument,
-        "It is illegal to specify the v extension with zve* extensions");
-
   // Additional dependency checks.
   // TODO: The 'q' extension requires rv64.
   // TODO: It is illegal to specify 'e' extensions with 'f' and 'd'.