[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for 9.0 v15 00/10] target/riscv: vector fixes
From: |
Alistair Francis |
Subject: |
Re: [PATCH for 9.0 v15 00/10] target/riscv: vector fixes |
Date: |
Wed, 20 Mar 2024 14:55:10 +1000 |
On Fri, Mar 15, 2024 at 3:59 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> Hi,
>
> The series was renamed to reflect that at this point we're fixing more
> things than just vstart management.
>
> In this new version a couple fixes were added:
>
> - patch 3 (new) fixes the memcpy endianess in 'vmvr_v', as suggested by
> Richard;
>
> - patch 5 (new) fixes ldst_whole insns to now clear vstart in all cases.
> The fix was proposed by Max.
>
> Another notable change was made in patch 6 (patch 4 from v14). We're not
> doing early exits in helpers that are gated by vstart_eq_zero. This was
> found to cause side-effects with insns that wants to send faults if vl =
> 0, and for the rest it becomes a moot check since vstart is granted to
> be zero beforehand.
>
> Series based on master.
>
> Patches missing acks: 3, 4, 5
>
> Changes from v14:
> - patch 3 (new):
> - make 'vmvr_v' big endian compliant
> - patch 5 (new):
> - make ldst_whole insns clear vstart in all code paths
> - patch 6 (patch 4 from v14):
> - do not add early exits on helpers that are gated with vstart_eq_zero
> - v14 link:
> 20240313220141.427730-1-dbarboza@ventanamicro.com/">https://lore.kernel.org/qemu-riscv/20240313220141.427730-1-dbarboza@ventanamicro.com/
>
> Daniel Henrique Barboza (9):
> 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_helper.c: fix 'vmvr_v' memcpy endianess
> target/riscv: always clear vstart in whole vec move insns
> target/riscv: always clear vstart for ldst_whole 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
Thanks!
Applied to riscv-to-apply.next
Alistair
>
> target/riscv/insn_trans/trans_rvbf16.c.inc | 18 +-
> target/riscv/insn_trans/trans_rvv.c.inc | 244 ++++++---------------
> 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 | 93 +++++++-
> target/riscv/vector_internals.c | 4 +
> target/riscv/vector_internals.h | 9 +
> 8 files changed, 220 insertions(+), 216 deletions(-)
>
> --
> 2.44.0
>
>
- [PATCH for 9.0 v15 04/10] target/riscv: always clear vstart in whole vec move insns, (continued)
- [PATCH for 9.0 v15 04/10] target/riscv: always clear vstart in whole vec move insns, Daniel Henrique Barboza, 2024/03/14
- [PATCH for 9.0 v15 06/10] target/riscv/vector_helpers: do early exit when vstart >= vl, Daniel Henrique Barboza, 2024/03/14
- [PATCH for 9.0 v15 07/10] target/riscv: remove 'over' brconds from vector trans, Daniel Henrique Barboza, 2024/03/14
- [PATCH for 9.0 v15 08/10] trans_rvv.c.inc: remove redundant mark_vs_dirty() calls, Daniel Henrique Barboza, 2024/03/14
- [PATCH for 9.0 v15 09/10] target/riscv: enable 'vstart_eq_zero' in the end of insns, Daniel Henrique Barboza, 2024/03/14
- [PATCH for 9.0 v15 10/10] target/riscv/vector_helper.c: optimize loops in ldst helpers, Daniel Henrique Barboza, 2024/03/14
- Re: [PATCH for 9.0 v15 00/10] target/riscv: vector fixes,
Alistair Francis <=