Skip to content

Commit 8b80219

Browse files
committed
Have Zabha imply extensions rather than erroring if not present
1 parent 5c142ba commit 8b80219

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

disasm/isa_parser.cc

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,13 @@ void isa_parser_t::add_extension(const std::string& ext_str, const char* str)
9393
extension_table[EXT_ZALRSC] = true;
9494
} else if (ext_str == "zacas") {
9595
extension_table[EXT_ZACAS] = true;
96+
extension_table[EXT_ZAAMO] = true;
9697
} else if (ext_str == "zabha") {
9798
extension_table[EXT_ZABHA] = true;
99+
extension_table[EXT_ZAAMO] = true;
98100
} else if (ext_str == "zawrs") {
99101
extension_table[EXT_ZAWRS] = true;
102+
extension_table[EXT_ZALRSC] = true;
100103
} else if (ext_str == "zmmul") {
101104
extension_table[EXT_ZMMUL] = true;
102105
} else if (ext_str == "zba") {
@@ -534,18 +537,6 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
534537
if ((extension_table[EXT_ZCMP] || extension_table[EXT_ZCMT]) && extension_table[EXT_ZCD]) {
535538
bad_isa_string(str, "Zcmp' and 'Zcmt' extensions are incompatible with 'Zcd' extension");
536539
}
537-
538-
if (extension_table[EXT_ZACAS] && !extension_table[EXT_ZAAMO]) {
539-
bad_isa_string(str, "'Zacas' extension requires either the 'A' or the 'Zaamo' extension");
540-
}
541-
542-
if (extension_table[EXT_ZABHA] && !extension_table[EXT_ZAAMO]) {
543-
bad_isa_string(str, "'Zabha' extension requires either the 'A' or the 'Zaamo' extension");
544-
}
545-
546-
if (extension_table[EXT_ZAWRS] && !extension_table[EXT_ZALRSC]) {
547-
bad_isa_string(str, "'Zawrs' extension requires either the 'A' or the 'Zalrsc' extension");
548-
}
549540
#ifdef WORDS_BIGENDIAN
550541
// Access to the vector registers as element groups is unimplemented on big-endian setups.
551542
if (extension_table[EXT_ZVKG] || extension_table[EXT_ZVKNHA] || extension_table[EXT_ZVKNHB] ||

0 commit comments

Comments
 (0)