@@ -330,26 +330,6 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
330330 bad_isa_string (str, (" can't parse: " + std::string (p)).c_str ());
331331 }
332332
333- if (extension_table[EXT_ZCMLSD] && extension_table[EXT_ZCF]) {
334- bad_isa_string (str, " 'Zcmlsd' extension conflicts with 'Zcf' extensions" );
335- }
336-
337- if (extension_table[EXT_ZCMLSD] && (!extension_table[EXT_ZCA] || !extension_table[EXT_ZILSD])) {
338- bad_isa_string (str, " 'Zcmlsd' extension requires 'Zca' and 'Zilsd' extensions" );
339- }
340-
341- if (extension_table[EXT_ZFBFMIN] && !extension_table[' F' ]) {
342- bad_isa_string (str, " 'Zfbfmin' extension requires 'F' extension" );
343- }
344-
345- if ((extension_table[EXT_ZVFBFMIN] || extension_table[EXT_ZVFBFWMA]) && !extension_table[' V' ]) {
346- bad_isa_string (str, " 'Zvfbfmin/Zvfbfwma' extension requires 'V' extension" );
347- }
348-
349- if (extension_table[EXT_ZFBFMIN] || extension_table[EXT_ZVFBFMIN] || extension_table[EXT_ZFHMIN]) {
350- extension_table[EXT_INTERNAL_ZFH_MOVE] = true ;
351- }
352-
353333 if (extension_table[' A' ]) {
354334 extension_table[EXT_ZAAMO] = true ;
355335 extension_table[EXT_ZALRSC] = true ;
@@ -373,6 +353,26 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
373353 extension_table[EXT_ZCD] = true ;
374354 }
375355
356+ if (extension_table[EXT_ZCMLSD] && extension_table[EXT_ZCF]) {
357+ bad_isa_string (str, " 'Zcmlsd' extension conflicts with 'Zcf' extensions" );
358+ }
359+
360+ if (extension_table[EXT_ZCMLSD] && (!extension_table[EXT_ZCA] || !extension_table[EXT_ZILSD])) {
361+ bad_isa_string (str, " 'Zcmlsd' extension requires 'Zca' and 'Zilsd' extensions" );
362+ }
363+
364+ if (extension_table[EXT_ZFBFMIN] && !extension_table[' F' ]) {
365+ bad_isa_string (str, " 'Zfbfmin' extension requires 'F' extension" );
366+ }
367+
368+ if ((extension_table[EXT_ZVFBFMIN] || extension_table[EXT_ZVFBFWMA]) && !extension_table[' V' ]) {
369+ bad_isa_string (str, " 'Zvfbfmin/Zvfbfwma' extension requires 'V' extension" );
370+ }
371+
372+ if (extension_table[EXT_ZFBFMIN] || extension_table[EXT_ZVFBFMIN] || extension_table[EXT_ZFHMIN]) {
373+ extension_table[EXT_INTERNAL_ZFH_MOVE] = true ;
374+ }
375+
376376 if (extension_table[EXT_ZFINX] && extension_table[' F' ]) {
377377 bad_isa_string (str, (" Zfinx/Zdinx/Zhinx{min} extensions conflict with 'F/D/Q/Zfh{min}' extensions" ));
378378 }
0 commit comments