diff options
author | Ved Shanbhogue <ved@rivosinc.com> | 2024-05-04 15:30:10 -0500 |
---|---|---|
committer | Ved Shanbhogue <ved@rivosinc.com> | 2024-05-06 18:21:06 -0500 |
commit | c5229c3f5f4b6404977bb4134f1a0bda5207ff90 (patch) | |
tree | fd9c817dd725bd138d80782915b59379b809780f /disasm/isa_parser.cc | |
parent | 7438d1e69286470b7aaa0a713fd853fdf5c12416 (diff) | |
download | riscv-isa-sim-c5229c3f5f4b6404977bb4134f1a0bda5207ff90.zip riscv-isa-sim-c5229c3f5f4b6404977bb4134f1a0bda5207ff90.tar.gz riscv-isa-sim-c5229c3f5f4b6404977bb4134f1a0bda5207ff90.tar.bz2 |
Add Zawrs extension
Diffstat (limited to 'disasm/isa_parser.cc')
-rw-r--r-- | disasm/isa_parser.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/disasm/isa_parser.cc b/disasm/isa_parser.cc index c0869f3..ee57a51 100644 --- a/disasm/isa_parser.cc +++ b/disasm/isa_parser.cc @@ -123,6 +123,8 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv) extension_table[EXT_ZACAS] = true; } else if (ext_str == "zabha") { extension_table[EXT_ZABHA] = true; + } else if (ext_str == "zawrs") { + extension_table[EXT_ZAWRS] = true; } else if (ext_str == "zmmul") { extension_table[EXT_ZMMUL] = true; } else if (ext_str == "zba") { @@ -378,14 +380,18 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv) bad_isa_string(str, "'Zcf/Zcd/Zcb/Zcmp/Zcmt' extensions require 'Zca' extension"); } - if (extension_table[EXT_ZACAS] && !extension_table['A'] && !extension_table[EXT_ZAAMO]) { + if (extension_table[EXT_ZACAS] && !extension_table[EXT_ZAAMO]) { bad_isa_string(str, "'Zacas' extension requires either the 'A' or the 'Zaamo' extension"); } - if (extension_table[EXT_ZABHA] && !extension_table['A'] && !extension_table[EXT_ZAAMO]) { + if (extension_table[EXT_ZABHA] && !extension_table[EXT_ZAAMO]) { bad_isa_string(str, "'Zabha' extension requires either the 'A' or the 'Zaamo' extension"); } + if (extension_table[EXT_ZAWRS] && !extension_table[EXT_ZALRSC]) { + bad_isa_string(str, "'Zabha' extension requires either the 'A' or the 'Zalrsc' extension"); + } + // When SSE is 0, Zicfiss behavior is defined by Zicmop if (extension_table[EXT_ZICFISS] && !extension_table[EXT_ZIMOP]) { bad_isa_string(str, "'Zicfiss' extension requires 'Zimop' extension"); |