@@ -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