qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] target/riscv: Fix some RISC-V instruction corner cases
@ 2025-01-26  7:20 Anton Blanchard
  2025-01-26  7:20 ` [PATCH 01/12] target/riscv: Source vector registers cannot overlap mask register Anton Blanchard
                   ` (12 more replies)
  0 siblings, 13 replies; 21+ messages in thread
From: Anton Blanchard @ 2025-01-26  7:20 UTC (permalink / raw)
  To: qemu-riscv, qemu-devel
  Cc: Anton Blanchard, Palmer Dabbelt, Alistair Francis, Bin Meng,
	Weiwei Li, Daniel Henrique Barboza, Liu Zhiwei

This series fixes some RISC-V instruction corner cases, specifically
illegal overlaps between mask and source registers, illegal overlaps
between source registers and illegal overlaps between source and
destination registers. These were found by looking at miscompares
between QEMU and the Tenstorrent fork of Whisper which models this
behaviour better than Spike and Sail.

Anton Blanchard (12):
  target/riscv: Source vector registers cannot overlap mask register
  target/riscv: handle vrgather mask and source overlap
  target/riscv: handle vadd.vx form mask and source overlap
  target/riscv: handle vadd.vv form mask and source overlap
  target/riscv: handle vslide1down.vx form mask and source overlap
  target/riscv: handle vzext.vf2 form mask and source overlap
  target/riscv: handle vwadd.vx form mask and source overlap
  target/riscv: handle vwadd.vv form mask and source overlap
  target/riscv: handle vwadd.wv form mask and source overlap
  target/riscv: handle vwadd.wv form vs1 and vs2 overlap
  target/riscv: Add CHECK arg to GEN_OPFVF_WIDEN_TRANS
  target/riscv: handle overlap in widening instructions with overwrite

 target/riscv/insn_trans/trans_rvv.c.inc | 139 ++++++++++++++++++------
 1 file changed, 108 insertions(+), 31 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2025-03-17  2:09 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-26  7:20 [PATCH 00/12] target/riscv: Fix some RISC-V instruction corner cases Anton Blanchard
2025-01-26  7:20 ` [PATCH 01/12] target/riscv: Source vector registers cannot overlap mask register Anton Blanchard
2025-02-07  9:26   ` Max Chou
2025-01-26  7:20 ` [PATCH 02/12] target/riscv: handle vrgather mask and source overlap Anton Blanchard
2025-02-07  9:33   ` Max Chou
2025-01-26  7:20 ` [PATCH 03/12] target/riscv: handle vadd.vx form " Anton Blanchard
2025-02-07  9:37   ` Max Chou
2025-01-26  7:20 ` [PATCH 04/12] target/riscv: handle vadd.vv " Anton Blanchard
2025-01-26  7:20 ` [PATCH 05/12] target/riscv: handle vslide1down.vx " Anton Blanchard
2025-02-07  9:39   ` Max Chou
2025-01-26  7:20 ` [PATCH 06/12] target/riscv: handle vzext.vf2 " Anton Blanchard
2025-01-26  7:20 ` [PATCH 07/12] target/riscv: handle vwadd.vx " Anton Blanchard
2025-01-26  7:20 ` [PATCH 08/12] target/riscv: handle vwadd.vv " Anton Blanchard
2025-01-26  7:20 ` [PATCH 09/12] target/riscv: handle vwadd.wv " Anton Blanchard
2025-01-26  7:20 ` [PATCH 10/12] target/riscv: handle vwadd.wv form vs1 and vs2 overlap Anton Blanchard
2025-02-07  9:42   ` Max Chou
2025-01-26  7:20 ` [PATCH 11/12] target/riscv: Add CHECK arg to GEN_OPFVF_WIDEN_TRANS Anton Blanchard
2025-02-07  9:45   ` Max Chou
2025-01-26  7:20 ` [PATCH 12/12] target/riscv: handle overlap in widening instructions with overwrite Anton Blanchard
2025-02-27 14:47 ` [PATCH 00/12] target/riscv: Fix some RISC-V instruction corner cases Max Chou
2025-03-17  2:08   ` [CAUTION - External Sender] " Anton Blanchard

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).