Skip to content

Commit 0358490

Browse files
committed
Have Zabha imply extensions rather than erroring if not present
1 parent 7e1098c commit 0358490

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") {
@@ -533,18 +536,6 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
533536
if ((extension_table[EXT_ZCMP] || extension_table[EXT_ZCMT]) && extension_table[EXT_ZCD]) {
534537
bad_isa_string(str, "Zcmp' and 'Zcmt' extensions are incompatible with 'Zcd' extension");
535538
}
536-
537-
if (extension_table[EXT_ZACAS] && !extension_table[EXT_ZAAMO]) {
538-
bad_isa_string(str, "'Zacas' extension requires either the 'A' or the 'Zaamo' extension");
539-
}
540-
541-
if (extension_table[EXT_ZABHA] && !extension_table[EXT_ZAAMO]) {
542-
bad_isa_string(str, "'Zabha' extension requires either the 'A' or the 'Zaamo' extension");
543-
}
544-
545-
if (extension_table[EXT_ZAWRS] && !extension_table[EXT_ZALRSC]) {
546-
bad_isa_string(str, "'Zawrs' extension requires either the 'A' or the 'Zalrsc' extension");
547-
}
548539
#ifdef WORDS_BIGENDIAN
549540
// Access to the vector registers as element groups is unimplemented on big-endian setups.
550541
if (extension_table[EXT_ZVKG] || extension_table[EXT_ZVKNHA] || extension_table[EXT_ZVKNHB] ||

0 commit comments

Comments
 (0)