Hi, In this new version I added a new patch (patch 4) to handle the case pointed out by LIU Zhiwei in v12. I decided to do it in separate since it's a distinct case from what we're dealing with in patch 5.
No other changes made. Series based on master. Patches missing acks: patch 4. Changes from v12: - patch 4 (new): - move vstart >= maxsz cond to the vmvr_v helper - clear vstart when vstart >= maxsz - v12 link: https://lore.kernel.org/qemu-riscv/20240311180821.250469-1-dbarb...@ventanamicro.com/ Daniel Henrique Barboza (7): target/riscv/vector_helper.c: set vstart = 0 in GEN_VEXT_VSLIDEUP_VX() trans_rvv.c.inc: set vstart = 0 in int scalar move insns target/riscv/vector_helpers: do early exit when vstart >= vl target/riscv: always clear vstart in whole vec move insns target/riscv: remove 'over' brconds from vector trans trans_rvv.c.inc: remove redundant mark_vs_dirty() calls target/riscv/vector_helper.c: optimize loops in ldst helpers Ivan Klokov (1): target/riscv: enable 'vstart_eq_zero' in the end of insns target/riscv/insn_trans/trans_rvbf16.c.inc | 18 +- target/riscv/insn_trans/trans_rvv.c.inc | 198 +++++---------------- target/riscv/insn_trans/trans_rvvk.c.inc | 30 +--- target/riscv/translate.c | 6 + target/riscv/vcrypto_helper.c | 32 ++++ target/riscv/vector_helper.c | 102 ++++++++++- target/riscv/vector_internals.c | 4 + target/riscv/vector_internals.h | 9 + 8 files changed, 207 insertions(+), 192 deletions(-) -- 2.43.2