qemu-riscv.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/2] target/riscv: Generate strided vector ld/st with tcg
@ 2025-08-19 13:23 Chao Liu
  2025-08-19 13:23 ` [PATCH v5 1/2] Generate strided vector loads/stores with tcg nodes Chao Liu
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Chao Liu @ 2025-08-19 13:23 UTC (permalink / raw)
  To: richard.henderson, paolo.savini, ebiggers, dbarboza, palmer,
	alistair.francis, liwei1518, zhiwei_liu
  Cc: qemu-riscv, qemu-devel, Chao Liu

Hi all,

In this patch (v5), I've removed the redundant call to mark_vs_dirty(s)
within the gen_ldst_stride_main_loop() function.

The reason for this change is that mark_vs_dirty(s) is already being called
at a higher level, making the call inside gen_ldst_stride_main_loop()
unnecessary.


 static void gen_ldst_stride_main_loop(...)
 {
      ...
-     mark_vs_dirty(s);
      ...
 }

 static bool ldst_stride_trans(...)
 {
     ....
     mark_vs_dirty(s);

     gen_ldst_stride_main_loop(s, dest, rs1, rs2, vm, nf, ld_fn, st_fn, is_load);
 }


patch v4 changes:
- Use ctz32() replace to for-loop
  https://lore.kernel.org/qemu-devel/cover.1755333616.git.chao.liu@yeah.net/

patch v3 changes:
- Fix the get_log2() function:
  https://lore.kernel.org/qemu-riscv/cover.1755287531.git.chao.liu@yeah.net/T/#t
- Add test for vlsseg8e32 instruction.
- Rebase on top of the latest master.

patch v2 changes:
- Split the TCG node emulation of the complex strided load/store operation into
  two separate functions to simplify the implementation:
  https://lore.kernel.org/qemu-riscv/20250312155547.289642-1-paolo.savini@embecosm.com/


Best regards,

Chao


Chao Liu (2):
  Generate strided vector loads/stores with tcg nodes.
  tests/tcg/riscv64: Add test for vlsseg8e32 instruction

 target/riscv/insn_trans/trans_rvv.c.inc   | 317 ++++++++++++++++++----
 tests/tcg/riscv64/Makefile.softmmu-target |   8 +-
 tests/tcg/riscv64/test-vlsseg8e32.S       | 107 ++++++++
 3 files changed, 380 insertions(+), 52 deletions(-)
 create mode 100644 tests/tcg/riscv64/test-vlsseg8e32.S

-- 
2.50.1



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

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

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19 13:23 [PATCH v5 0/2] target/riscv: Generate strided vector ld/st with tcg Chao Liu
2025-08-19 13:23 ` [PATCH v5 1/2] Generate strided vector loads/stores with tcg nodes Chao Liu
2025-08-19 13:23 ` [PATCH v5 2/2] tests/tcg/riscv64: Add test for vlsseg8e32 instruction Chao Liu
2025-09-03  2:21 ` [PATCH v5 0/2] target/riscv: Generate strided vector ld/st with tcg Nicholas Piggin
2025-09-03  2:54   ` Zevorn(Chao Liu)

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