[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/13] target/riscv: add 'cpu->cfg.vlenb', remove 'cpu->cfg.vl
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v3 00/13] target/riscv: add 'cpu->cfg.vlenb', remove 'cpu->cfg.vlen' |
Date: |
Tue, 16 Jan 2024 17:58:04 -0300 |
Hi,
In this v3 the most significant change is with vext_get_vlmax() from
cpu.h. The logic used in this function is also used in at least two
other places, trans_vrgather_vi() and trans_vrgather_vx(), and we need
to make changes in them to remove 'vlen' occurrences.
Instead, we're adding an extra patch (11) to rework vext_get_vlmax()
arguments to make the function usable in trans_vrgather_v*(). This
rework includes some naming changes in local variables - we're using
'vsew' and 'vlmul' more often to be less ambiguous when reading code.
Series based on Alistair's riscv-to-apply.next.
Patches missing review: patches 10, 11, 12.
Changes from v3:
- patch 8:
- changed fractional LMUL comment to show the expansion
- patches 9 and 10: switched places
- patch 10 (former 9):
- use 'vlen' in vext_get_vlmax() to avoid a negative shift
- patch 11 (new):
- change vext_get_vlmax() to use 'vlenb', 'vsew' and 'lmul'
- patch 12 (former 11):
- use vext_get_vlmax() instead of calculating vlmax manually
- v2 link:
20240115222528.257342-1-dbarboza@ventanamicro.com/">https://lore.kernel.org/qemu-riscv/20240115222528.257342-1-dbarboza@ventanamicro.com/
Daniel Henrique Barboza (13):
target/riscv: add 'vlenb' field in cpu->cfg
target/riscv/csr.c: use 'vlenb' instead of 'vlen'
target/riscv/gdbstub.c: use 'vlenb' instead of shifting 'vlen'
target/riscv/insn_trans/trans_rvbf16.c.inc: use cpu->cfg.vlenb
target/riscv/insn_trans/trans_rvv.c.inc: use 'vlenb'
target/riscv/insn_trans/trans_rvvk.c.inc: use 'vlenb'
target/riscv/vector_helper.c: use 'vlenb'
target/riscv/vector_helper.c: use vlenb in HELPER(vsetvl)
target/riscv/insn_trans/trans_rvv.c.inc: use 'vlenb' in MAXSZ()
target/riscv/cpu.h: use 'vlenb' in vext_get_vlmax()
target/riscv: change vext_get_vlmax() arguments
trans_rvv.c.inc: use vext_get_vlmax() in trans_vrgather_v*()
target/riscv/cpu.c: remove cpu->cfg.vlen
target/riscv/cpu.c | 12 +-
target/riscv/cpu.h | 14 +-
target/riscv/cpu_cfg.h | 2 +-
target/riscv/cpu_helper.c | 11 +-
target/riscv/csr.c | 4 +-
target/riscv/gdbstub.c | 6 +-
target/riscv/insn_trans/trans_rvbf16.c.inc | 12 +-
target/riscv/insn_trans/trans_rvv.c.inc | 152 ++++++++++-----------
target/riscv/insn_trans/trans_rvvk.c.inc | 16 +--
target/riscv/tcg/tcg-cpu.c | 4 +-
target/riscv/vector_helper.c | 43 +++---
11 files changed, 148 insertions(+), 128 deletions(-)
--
2.43.0
- [PATCH v3 00/13] target/riscv: add 'cpu->cfg.vlenb', remove 'cpu->cfg.vlen',
Daniel Henrique Barboza <=
- [PATCH v3 01/13] target/riscv: add 'vlenb' field in cpu->cfg, Daniel Henrique Barboza, 2024/01/16
- [PATCH v3 02/13] target/riscv/csr.c: use 'vlenb' instead of 'vlen', Daniel Henrique Barboza, 2024/01/16
- [PATCH v3 03/13] target/riscv/gdbstub.c: use 'vlenb' instead of shifting 'vlen', Daniel Henrique Barboza, 2024/01/16
- [PATCH v3 04/13] target/riscv/insn_trans/trans_rvbf16.c.inc: use cpu->cfg.vlenb, Daniel Henrique Barboza, 2024/01/16
- [PATCH v3 05/13] target/riscv/insn_trans/trans_rvv.c.inc: use 'vlenb', Daniel Henrique Barboza, 2024/01/16