qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/12] Fix RVV encoding corner cases
@ 2025-03-29 14:44 Max Chou
  2025-03-29 14:44 ` [PATCH v2 01/12] target/riscv: rvv: Source vector registers cannot overlap mask register Max Chou
                   ` (11 more replies)
  0 siblings, 12 replies; 28+ messages in thread
From: Max Chou @ 2025-03-29 14:44 UTC (permalink / raw)
  To: qemu-devel, qemu-riscv
  Cc: Palmer Dabbelt, Alistair Francis, Weiwei Li,
	Daniel Henrique Barboza, Liu Zhiwei, antonb, Max Chou

This patch series fixes several corner cases of RISC-V vector
instruction's encoding constraints.

Building on Anton's original work, this v2 series specifically
addresses:

1. Illegal overlaps between source registers
2. Corner cases in complex vector instructions like vrgatherei16
3. Handling of register overlaps in vector widening/narrowing
instructions
4. Fix unmasked RVV instruction encoding (e.g. vcompress.vm)


Anton Blanchard (2):
  target/riscv: rvv: Source vector registers cannot overlap mask
    register
  target/riscv: rvv: Add CHECK arg to GEN_OPFVF_WIDEN_TRANS

Max Chou (10):
  target/riscv: Add vext_check_input_eew to check mismatched input EEWs
    encoding constraint
  target/riscv: rvv: Apply vext_check_input_eew to vector register
    gather instructions
  target/riscv: rvv: Apply vext_check_input_eew to
    OPIVI/OPIVX/OPFVF(vext_check_ss) instructions
  target/riscv: rvv: Apply vext_check_input_eew to
    OPIVV/OPFVV(vext_check_sss) instructions
  target/riscv: rvv: Apply vext_check_input_eew to vector slide
    instructions(OPIVI/OPIVX)
  target/riscv: rvv: Apply vext_check_input_eew to vector integer
    extension instructions(OPMVV)
  target/riscv: rvv: Apply vext_check_input_eew to vector widen
    instructions(OPMVV/OPMVX/etc.)
  target/riscv: rvv: Apply vext_check_input_eew to vector narrow
    instructions
  target/riscv: rvv: Apply vext_check_input_eew to vector indexed
    load/store instructions
  target/riscv: Fix the rvv reserved encoding of unmasked instructions

 target/riscv/insn32.decode                 |  18 +--
 target/riscv/insn_trans/trans_rvbf16.c.inc |   9 +-
 target/riscv/insn_trans/trans_rvv.c.inc    | 167 +++++++++++++++++----
 3 files changed, 154 insertions(+), 40 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2025-04-07  8:37 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-29 14:44 [PATCH v2 00/12] Fix RVV encoding corner cases Max Chou
2025-03-29 14:44 ` [PATCH v2 01/12] target/riscv: rvv: Source vector registers cannot overlap mask register Max Chou
2025-04-05  8:58   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 02/12] target/riscv: rvv: Add CHECK arg to GEN_OPFVF_WIDEN_TRANS Max Chou
2025-04-05  8:58   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 03/12] target/riscv: Add vext_check_input_eew to check mismatched input EEWs encoding constraint Max Chou
2025-04-05  9:09   ` Daniel Henrique Barboza
2025-04-07  8:32     ` Max Chou
2025-03-29 14:44 ` [PATCH v2 04/12] target/riscv: rvv: Apply vext_check_input_eew to vector register gather instructions Max Chou
2025-04-05  9:14   ` Daniel Henrique Barboza
2025-04-07  8:34     ` Max Chou
2025-03-29 14:44 ` [PATCH v2 05/12] target/riscv: rvv: Apply vext_check_input_eew to OPIVI/OPIVX/OPFVF(vext_check_ss) instructions Max Chou
2025-04-05  9:17   ` Daniel Henrique Barboza
2025-04-07  8:35     ` Max Chou
2025-03-29 14:44 ` [PATCH v2 06/12] target/riscv: rvv: Apply vext_check_input_eew to OPIVV/OPFVV(vext_check_sss) instructions Max Chou
2025-04-05  9:18   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 07/12] target/riscv: rvv: Apply vext_check_input_eew to vector slide instructions(OPIVI/OPIVX) Max Chou
2025-04-05  9:18   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 08/12] target/riscv: rvv: Apply vext_check_input_eew to vector integer extension instructions(OPMVV) Max Chou
2025-04-05  9:18   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 09/12] target/riscv: rvv: Apply vext_check_input_eew to vector widen instructions(OPMVV/OPMVX/etc.) Max Chou
2025-04-05  9:20   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 10/12] target/riscv: rvv: Apply vext_check_input_eew to vector narrow instructions Max Chou
2025-04-05  9:20   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 11/12] target/riscv: rvv: Apply vext_check_input_eew to vector indexed load/store instructions Max Chou
2025-04-05  9:20   ` Daniel Henrique Barboza
2025-03-29 14:44 ` [PATCH v2 12/12] target/riscv: Fix the rvv reserved encoding of unmasked instructions Max Chou
2025-04-05  9:21   ` Daniel Henrique Barboza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).