aboutsummaryrefslogtreecommitdiff
path: root/riscv/isa_parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/isa_parser.h')
-rw-r--r--riscv/isa_parser.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/riscv/isa_parser.h b/riscv/isa_parser.h
index ae9ed94..afb49f2 100644
--- a/riscv/isa_parser.h
+++ b/riscv/isa_parser.h
@@ -102,12 +102,17 @@ public:
unsigned get_max_xlen() const { return max_xlen; }
reg_t get_max_isa() const { return max_isa; }
std::string get_isa_string() const { return isa_string; }
+ reg_t get_vlen() const { return vlen; }
+ reg_t get_elen() const { return elen; }
+ bool get_zvf() const { return zvf; }
+ bool get_zvd() const { return zvd; }
bool extension_enabled(unsigned char ext) const {
return extension_enabled(isa_extension_t(ext));
}
bool extension_enabled(isa_extension_t ext) const {
return extension_table[ext];
}
+ bool has_any_vector() const { return vlen > 0; }
std::bitset<NUM_ISA_EXTENSIONS> get_extension_table() const { return extension_table; }
@@ -116,6 +121,10 @@ public:
protected:
unsigned max_xlen;
reg_t max_isa;
+ reg_t vlen;
+ reg_t elen;
+ bool zvf;
+ bool zvd;
std::bitset<NUM_ISA_EXTENSIONS> extension_table;
std::string isa_string;
std::set<std::string> extensions;