@ -736,6 +736,7 @@ bool misa_csr_t::unlogged_write(const reg_t val) noexcept {
const bool prev_h = old_misa & ( 1L < < ( ' H ' - ' A ' ) ) ;
const reg_t new_misa = ( adjusted_val & write_mask ) | ( old_misa & ~ write_mask ) ;
const bool new_h = new_misa & ( 1L < < ( ' H ' - ' A ' ) ) ;
const bool new_v = proc - > get_isa ( ) . has_any_vector ( ) ;
proc - > set_extension_enable ( EXT_ZCA , ( new_misa & ( 1L < < ( ' C ' - ' A ' ) ) ) | | ! proc - > get_isa ( ) . extension_enabled ( ' C ' ) ) ;
proc - > set_extension_enable ( EXT_ZCF , ( new_misa & ( 1L < < ( ' F ' - ' A ' ) ) ) & & proc - > extension_enabled ( EXT_ZCA ) & & proc - > get_xlen ( ) = = 32 ) ;
@ -745,8 +746,8 @@ bool misa_csr_t::unlogged_write(const reg_t val) noexcept {
proc - > set_extension_enable ( EXT_ZCMT , proc - > extension_enabled ( EXT_ZCA ) ) ;
proc - > set_extension_enable ( EXT_ZFH , new_misa & ( 1L < < ( ' F ' - ' A ' ) ) ) ;
proc - > set_extension_enable ( EXT_ZFHMIN , new_misa & ( 1L < < ( ' F ' - ' A ' ) ) ) ;
proc - > set_extension_enable ( EXT_ZVFH , ( new_misa & ( 1L < < ( ' V ' - ' A ' ) ) ) & & proc - > extension_enabled ( EXT_ZFHMIN ) ) ;
proc - > set_extension_enable ( EXT_ZVFHMIN , new_misa & ( 1L < < ( ' V ' - ' A ' ) ) ) ;
proc - > set_extension_enable ( EXT_ZVFH , new_v & & proc - > get_isa ( ) . get_zvf ( ) & & proc - > extension_enabled ( EXT_ZFHMIN ) ) ;
proc - > set_extension_enable ( EXT_ZVFHMIN , new_v & & proc - > get_isa ( ) . get_zvf ( ) ) ;
proc - > set_extension_enable ( EXT_ZAAMO , ( new_misa & ( 1L < < ( ' A ' - ' A ' ) ) ) | | ! proc - > get_isa ( ) . extension_enabled ( ' A ' ) ) ;
proc - > set_extension_enable ( EXT_ZALRSC , ( new_misa & ( 1L < < ( ' A ' - ' A ' ) ) ) | | ! proc - > get_isa ( ) . extension_enabled ( ' A ' ) ) ;
proc - > set_extension_enable ( EXT_ZBA , ( new_misa & ( 1L < < ( ' B ' - ' A ' ) ) ) | | ! proc - > get_isa ( ) . extension_enabled ( ' B ' ) ) ;