From 96865cda8ef5d85903a2fc1fc55878ee690413a2 Mon Sep 17 00:00:00 2001 From: Zhaoyang You <45031352+sinceforYy@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:32:25 +0800 Subject: [PATCH] fix(rvv): set xstatus.vs dirty when execute vector int instructions (#631) --- src/isa/riscv64/instr/rvv/vcompute_impl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/isa/riscv64/instr/rvv/vcompute_impl.c b/src/isa/riscv64/instr/rvv/vcompute_impl.c index 0a446b037..4aa210075 100644 --- a/src/isa/riscv64/instr/rvv/vcompute_impl.c +++ b/src/isa/riscv64/instr/rvv/vcompute_impl.c @@ -414,7 +414,10 @@ void arthimetic_instr(int opcode, int is_signed, int widening, int narrow, int d } } check_vstart_exception(s); - if(check_vstart_ignore(s)) return; + if(check_vstart_ignore(s)) { + vp_set_dirty(); + return; + } for(word_t idx = vstart->val; idx < vl->val; idx ++) { // mask rtlreg_t mask = get_mask(0, idx);