diff --git a/riscv/csrs.cc b/riscv/csrs.cc index cc12e1d2..27c26d3a 100644 --- a/riscv/csrs.cc +++ b/riscv/csrs.cc @@ -1598,7 +1598,7 @@ void vector_csr_t::write_raw(const reg_t val) noexcept { bool vector_csr_t::unlogged_write(const reg_t val) noexcept { if (mask == 0) return false; - dirty_vs_state; + STATE.sstatus->dirty(SSTATUS_VS); return basic_csr_t::unlogged_write(val & mask); } @@ -1612,7 +1612,7 @@ void vxsat_csr_t::verify_permissions(insn_t insn, bool write) const { } bool vxsat_csr_t::unlogged_write(const reg_t val) noexcept { - dirty_vs_state; + STATE.sstatus->dirty(SSTATUS_VS); return masked_csr_t::unlogged_write(val); } diff --git a/riscv/decode_macros.h b/riscv/decode_macros.h index 46cfee6a..b778668b 100644 --- a/riscv/decode_macros.h +++ b/riscv/decode_macros.h @@ -110,7 +110,6 @@ #define FRS3_D READ_FREG_D(insn.rs3()) #define dirty_fp_state STATE.sstatus->dirty(SSTATUS_FS) #define dirty_ext_state STATE.sstatus->dirty(SSTATUS_XS) -#define dirty_vs_state STATE.sstatus->dirty(SSTATUS_VS) #define DO_WRITE_FREG(reg, value) (STATE.FPR.write(reg, value), dirty_fp_state) #define WRITE_FRD(value) WRITE_FREG(insn.rd(), value) #define WRITE_FRD_H(value) \