[PATCH for-9.0 v14 0/8] riscv: set vstart_eq_zero on vector insns

Daniel Henrique Barboza posted 8 patches 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240313220141.427730-1-dbarboza@ventanamicro.com
Maintainers: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
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               | 100 ++++++++++-
target/riscv/vector_internals.c            |   4 +
target/riscv/vector_internals.h            |   9 +
8 files changed, 205 insertions(+), 192 deletions(-)
[PATCH for-9.0 v14 0/8] riscv: set vstart_eq_zero on vector insns
Posted by Daniel Henrique Barboza 1 month, 2 weeks ago
Hi,

In this version we're fixing a redundant check in the vmvr_v helper that
was pointed out by in v13.

To make this change easier patches 3 and 4 switched places. A trivial
change was made in patch 4 that don't warrant another review.

We're missing acks in patch 3 only.  

Series based on master. 

Changes from v13:
- patches 3 and 4: switched places
- patch 3:
  - fixed commit msg: from
    "(...) now sure that vstart is being clearer"
    to
    "(...) now sure that vstart is being cleared"
- patch 4:
  - do not check for vstart >= vl (i.e. add VSTART_CHECK_EARLY_EXIT())
    in the 'vmvr_v' helper
- v13 link: https://lore.kernel.org/qemu-riscv/20240313193059.405329-1-dbarboza@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: always clear vstart in whole vec move insns
  target/riscv/vector_helpers: do early exit when vstart >= vl
  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               | 100 ++++++++++-
 target/riscv/vector_internals.c            |   4 +
 target/riscv/vector_internals.h            |   9 +
 8 files changed, 205 insertions(+), 192 deletions(-)

-- 
2.43.2